[libunwind] f5c9931 - [libunwind] Fix compile error with CROSS_UNWINDING

Florian Mayer via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 30 12:04:30 PDT 2022


Author: Florian Mayer
Date: 2022-09-30T12:04:19-07:00
New Revision: f5c9931fefcab8de07a6c08c39b582fa58859dc9

URL: https://github.com/llvm/llvm-project/commit/f5c9931fefcab8de07a6c08c39b582fa58859dc9
DIFF: https://github.com/llvm/llvm-project/commit/f5c9931fefcab8de07a6c08c39b582fa58859dc9.diff

LOG: [libunwind] Fix compile error with CROSS_UNWINDING

Reviewed By: #libunwind, MaskRay, mgorny

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

Added: 
    

Modified: 
    libunwind/src/DwarfInstructions.hpp

Removed: 
    


################################################################################
diff  --git a/libunwind/src/DwarfInstructions.hpp b/libunwind/src/DwarfInstructions.hpp
index 1901c8a8aee7d..27432be56133b 100644
--- a/libunwind/src/DwarfInstructions.hpp
+++ b/libunwind/src/DwarfInstructions.hpp
@@ -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;


        


More information about the cfe-commits mailing list