mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 04:26:07 +00:00

It's possible for this test not to pass if the libc used does not provide unwind info for raise. We can replace it with __builtin_cast, which can lead to a SIGTRAP on x86_64 and a SIGILL on aarch64. Using this alternative, a nop is needed before the __builtin_cast. This is because libunwind incorrectly decrements pc, which can cause pc to jump into the previous function and use the incorrect FDE. Differential Revision: https://reviews.llvm.org/D114818