diff options
author | Li Huafei <lihuafei1@huawei.com> | 2022-10-18 14:59:02 +0200 |
---|---|---|
committer | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2022-11-14 13:00:57 +0100 |
commit | 9fbed16c3f4f2bebff610ff1ebb756785dfde0be (patch) | |
tree | 0c62e32c3358584e5bf804c513b7637dc79a21e3 /arch/arm/probes | |
parent | ARM: 9258/1: stacktrace: Make stack walk callback consistent with generic code (diff) | |
download | linux-9fbed16c3f4f2bebff610ff1ebb756785dfde0be.tar.xz linux-9fbed16c3f4f2bebff610ff1ebb756785dfde0be.zip |
ARM: 9259/1: stacktrace: Convert stacktrace to generic ARCH_STACKWALK
Historically architectures have had duplicated code in their stack trace
implementations for filtering what gets traced. In order to avoid this
duplication some generic code has been provided using a new interface
arch_stack_walk(), enabled by selecting ARCH_STACKWALK in Kconfig, which
factors all this out into the generic stack trace code. Convert ARM to
use this common infrastructure.
When initializing the stack frame of the current task, arm64 uses
__builtin_frame_address(1) to initialize the frame pointer, skipping
arch_stack_walk(), see the commit c607ab4f916d ("arm64: stacktrace:
don't trace arch_stack_walk()"). Since __builtin_frame_address(1) does
not work on ARM, unwind_frame() is used to unwind the stack one layer
forward before calling walk_stackframe().
Signed-off-by: Li Huafei <lihuafei1@huawei.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/probes')
0 files changed, 0 insertions, 0 deletions