summaryrefslogtreecommitdiff
path: root/libunwind/test
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@de.ibm.com>2022-05-04 10:43:11 +0200
committerUlrich Weigand <ulrich.weigand@de.ibm.com>2022-05-04 10:43:11 +0200
commit71672375fe91d602699ae2a6d6a88e910ff91b5c (patch)
tree0b76298f28133c99e741feeb1bf364e4c6bfdeb6 /libunwind/test
parentf1b9245199f3457a4d06d32d1bc6e44573c166e3 (diff)
downloadllvm-71672375fe91d602699ae2a6d6a88e910ff91b5c.tar.gz
[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
Diffstat (limited to 'libunwind/test')
-rw-r--r--libunwind/test/signal_unwind.pass.cpp2
-rw-r--r--libunwind/test/unwind_leaffunction.pass.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/libunwind/test/signal_unwind.pass.cpp b/libunwind/test/signal_unwind.pass.cpp
index 4f2e92534960..2ff50abbebb6 100644
--- a/libunwind/test/signal_unwind.pass.cpp
+++ b/libunwind/test/signal_unwind.pass.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
// Ensure that the unwinder can cope with the signal handler.
-// REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}})
+// REQUIRES: linux && (target={{aarch64-.+}} || target={{s390x-.+}} || target={{x86_64-.+}})
// TODO: Figure out why this fails with Memory Sanitizer.
// XFAIL: msan
diff --git a/libunwind/test/unwind_leaffunction.pass.cpp b/libunwind/test/unwind_leaffunction.pass.cpp
index a112d755dfee..f363dfe4a29d 100644
--- a/libunwind/test/unwind_leaffunction.pass.cpp
+++ b/libunwind/test/unwind_leaffunction.pass.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
// Ensure that leaf function can be unwund.
-// REQUIRES: linux && (target={{aarch64-.+}} || target={{x86_64-.+}})
+// REQUIRES: linux && (target={{aarch64-.+}} || target={{s390x-.+}} || target={{x86_64-.+}})
// TODO: Figure out why this fails with Memory Sanitizer.
// XFAIL: msan