ARM: call_with_stack: add unwind support
Restructure the code and add the unwind annotations so that both the frame pointer unwinder as well as the EHABI unwind info based unwinder will be able to follow the call stack through call_with_stack(). Since GCC and Clang use different formats for the stack frame, two methods are implemented: a GCC version that pushes fp, sp, lr and pc for compatibility with the frame pointer unwinder, and a second version that works with Clang, as well as with the EHABI unwinder both in ARM and Thumb2 modes. Signed-off-by: NArd Biesheuvel <ardb@kernel.org> Acked-by: NLinus Walleij <linus.walleij@linaro.org> Tested-by: NKeith Packard <keithpac@amazon.com> Reviewed-by: NNick Desaulniers <ndesaulniers@google.com> Tested-by: NMarc Zyngier <maz@kernel.org> Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M
Showing
想要评论请 注册 或 登录