[PATCH] D148499: [RISC-V libunwind]:Fix RISC-V backtrace issue

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 24 16:35:04 PDT 2023


MaskRay added inline comments.


================
Comment at: libunwind/src/UnwindCursor.hpp:2843
+  // A signal frame will have a return address pointing to
+  // __default_sa_restorer. This code is hardwired as:
+  //
----------------
wf520gg wrote:
> MaskRay wrote:
> > Where is __default_sa_restorer defined? Isn't it only used by Linux arm?
> Yes,you are right,just arm has this defination.There is some ambiguity about this comment, that should be "A signal frame will have a return address pointing to sigreturn syscall just like arm __default_sa_restorer."。 
FYI: I tested the first `a.c` example on https://maskray.me/blog/2022-04-10-unwinding-through-signal-handler  on a very new Arch Linux RISC-V qemu image and I don't find that this patch fixes the unwinding.

For Linux, IIUC newer kernel ports place the signal trampoline in vdso instead of libc. `__vdso_rt_sigreturn` is more accurate.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D148499/new/

https://reviews.llvm.org/D148499



More information about the llvm-commits mailing list