Because fp is not aligned 16 byte, when simpleperf use "--call-graph fp" mode, Before Andoroid 12 system, the backtrace stack will broken.
Open
backend:AArch64
llvm:codegen
platform:android
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
Becasue Before the Android 12 , the Libunwind require the stack 16 byte align.
So, How We modify the compiler to generate the stack 16 byte align?
PS: before this patch(https://github.com/llvm/llvm-project/commit/643adb55769ecb12e0377dab60de50def15d2cea) ,the clang generate stack is 16 byte align.
Contributor guide
Research direction
Start by reviewing the referenced LLVM patch and the reported simpleperf --call-graph fp behavior on pre-Android 12 systems. Compare the compiler-generated stack alignment with libunwind's requirements and determine the affected compiler entry point; done means a justified change and a regression test demonstrating a valid backtrace.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100