[libunwind][SystemZ] Unwind out of signal handlers
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Wed, 4 May 2022 08:43:11 +0000 (10:43 +0200)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Wed, 4 May 2022 08:43:11 +0000 (10:43 +0200)
commit71672375fe91d602699ae2a6d6a88e910ff91b5c
tree0b76298f28133c99e741feeb1bf364e4c6bfdeb6
parentf1b9245199f3457a4d06d32d1bc6e44573c166e3
[libunwind][SystemZ] Unwind out of signal handlers

Unwinding out of signal handlers currently does not work since
the sigreturn trampoline is not annotated with CFI data.

Fix this by detecting the sigreturn trampoline during unwinding
and providing appropriate unwind data manually. This follows
closely the approach used by existing code for the AArch64 target.

Reviewed by: MaskRay

Differential Revision: https://reviews.llvm.org/D124765
libunwind/src/UnwindCursor.hpp
libunwind/test/signal_unwind.pass.cpp
libunwind/test/unwind_leaffunction.pass.cpp