[libunwind] Fix compile error with CROSS_UNWINDING
authorFlorian Mayer <fmayer@google.com>
Fri, 30 Sep 2022 15:46:06 +0000 (08:46 -0700)
committerFlorian Mayer <fmayer@google.com>
Fri, 30 Sep 2022 19:04:19 +0000 (12:04 -0700)
Reviewed By: #libunwind, MaskRay, mgorny

Differential Revision: https://reviews.llvm.org/D134969

libunwind/src/DwarfInstructions.hpp

index 1901c8a..27432be 100644 (file)
@@ -202,7 +202,10 @@ int DwarfInstructions<A, R>::stepWithDwarf(A &addressSpace, pint_t pc,
       pint_t cfa = getCFA(addressSpace, prolog, registers);
 
       (void)stage2;
-#if defined(_LIBUNWIND_TARGET_AARCH64)
+      // __unw_step_stage2 is not used for cross unwinding, so we use
+      // __aarch64__ rather than LIBUNWIND_TARGET_AARCH64 to make sure we are
+      // building for AArch64 natively.
+#if defined(__aarch64__)
       if (stage2 && cieInfo.mteTaggedFrame) {
         pint_t sp = registers.getSP();
         pint_t p = sp;