================ @@ -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
