Fix backtrace support in THUMB2 mode
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest1 of 7 patches 0 repliesNew
- v10 of 7 patches 0 repliesSuperseded
1 of 7 patches is in this archive. The cover letter announces 7.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/7 | ARM: Introduce arm_get_current_stack_frame() | +0 | 0 replies |
Reviews trailers per patch
The patch has a Reviewed-by or Acked-by.
| Patch | Will Deacon |
|---|---|
| 2/7 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v2 0/7] Fix backtrace support in THUMB2 mode
Quoted 18 lines · Nikolay Borisov
From: Nikolay Borisov <[email protected]>
Currently all the code which deals with backtrace support assumes that R11 is the frame-pointer. While this is the case for ARM mode and is explicitly documented in the AAPCS, this is not the case for THUMB2 mode.
There is no official document requiring that R11 has to be the frame pointer and GCC uses R7 as FP and given that R7's usage is so intertwined within GCC's mechanics it is unlikely to change, so fixing backtrace in THUMB2 mode seems in order.
This patch series rectifies the problem by first fixing the
thread_save_fpmacro to reference the correct register. Furthermore, there a lot of repetetive sequences of code such as :stackframe.fp =
pt_regs->ARM_fp
stackframe.lr =pt_regs->ARM_lr
Quoted 8 lines
so introducing a function
arm_get_current_stack_framewhich both hides this repetition and also utilizes tehframe_pointer(regs)macro to reference the correct register depending on the mode.Finally, change all the call sites so that they utilize the new routine.
Changes since v1:
* Nothing major, just madearg_get_current_stackframe an inline routine.
I already acked most of these, please can you add my tag?
http://www.spinics.net/lists/arm-kernel/msg334457.html
Will