================
@@ -0,0 +1,107 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+/// Tests unwinding where the signal handler is a VAPI function.
+//
+/// `exit` is used as the signal handler and the unwinding is done in an atexit
+/// handler.
+/// `__builtin_debugtrap` is used because `raise` is also a VAPI function.
+
+/// REQUIRES: target={{.+}}-aix{{.*}}
+/// REQUIRES: has-filecheck
+
+/// ADDITIONAL_COMPILE_FLAGS: -fno-inline -fno-exceptions
+
+/// RUN: %{build}
+/// RUN: %{exec} %t.exe 2>&1 \
+/// RUN: | FileCheck --check-prefix=CHECK \
+/// RUN:       %if libunwind-assertions-enabled %{ --check-prefix=DEBUG %} \
+/// RUN:       %s
----------------
hubert-reinterpretcast wrote:

Note: Even with the LLU enabled, this passes in non-assertions builds without 
any of the functional `libunwind` updates because the VAPI glue address in the 
LR save stack slot is misinterpreted as a signal trampoline address and the 
frame actually is a signal handler frame.

https://github.com/llvm/llvm-project/pull/209662
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to