[llvm-branch-commits] [libunwind] ab86d14 - [libunwind][AArch64] Unbreak building with GNU assembler

Tobias Hieta via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Mar 23 07:35:01 PDT 2023


Author: Xi Ruoyao
Date: 2023-03-23T15:32:50+01:00
New Revision: ab86d147e852c42912a2f4819f442792c962b427

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

LOG: [libunwind][AArch64] Unbreak building with GNU assembler

GNU assembler mandates armv8.5-a for memtag instructions. Maybe
we should remove this restriction in GNU assembler, but let's work
around it for current GNU Binutils releases.

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

(cherry picked from commit 5d276380b0b45c3f02ef3c8614c3be95ce1bcb1e)

Added: 
    

Modified: 
    libunwind/src/DwarfInstructions.hpp

Removed: 
    


################################################################################
diff  --git a/libunwind/src/DwarfInstructions.hpp b/libunwind/src/DwarfInstructions.hpp
index 27432be56133b..9962c2ffa0ca3 100644
--- a/libunwind/src/DwarfInstructions.hpp
+++ b/libunwind/src/DwarfInstructions.hpp
@@ -224,7 +224,8 @@ int DwarfInstructions<A, R>::stepWithDwarf(A &addressSpace, pint_t pc,
         p &= ~0xfULL;
         // CFA is the bottom of the current stack frame.
         for (; p < cfa; p += 16) {
-          __asm__ __volatile__(".arch_extension memtag\n"
+          __asm__ __volatile__(".arch armv8.5-a\n"
+                               ".arch_extension memtag\n"
                                "stg %[Ptr], [%[Ptr]]\n"
                                :
                                : [Ptr] "r"(p)


        


More information about the llvm-branch-commits mailing list