Loading
riscv: stacktrace: fix backtracing through exceptions
Prior to commit 5d5fc33c ("riscv: Improve exception and system call latency"), backtrace through exception worked since ra was filled with ret_from_exception symbol address and the stacktrace code checked 'pc' to be equal to that symbol. Now that handle_exception uses regular 'call' instructions, this isn't working anymore and backtrace stops at handle_exception(). Since there are multiple call site to C code in the exception handling path, rather than checking multiple potential return addresses, add a new symbol at the end of exception handling and check pc to be in that range. Fixes: 5d5fc33c ("riscv: Improve exception and system call latency") Signed-off-by:Clément Léger <cleger@rivosinc.com> Tested-by:
Alexandre Ghiti <alexghiti@rivosinc.com> Reviewed-by:
Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20241209155714.1239665-1-cleger@rivosinc.com Signed-off-by:
Palmer Dabbelt <palmer@rivosinc.com>