diff --git a/lld/ELF/EhFrame.cpp b/lld/ELF/EhFrame.cpp --- a/lld/ELF/EhFrame.cpp +++ b/lld/ELF/EhFrame.cpp @@ -171,7 +171,7 @@ readByte(); else if (c == 'P') skipAugP(); - else if (c != 'B' && c != 'S') + else if (c != 'B' && c != 'S' && c != 'G') failOn(aug.data(), "unknown .eh_frame augmentation string: " + aug); } return DW_EH_PE_absptr; @@ -188,7 +188,7 @@ skipAugP(); else if (c == 'R') readByte(); - else if (c != 'B' && c != 'S') + else if (c != 'B' && c != 'S' && c != 'G') failOn(aug.data(), "unknown .eh_frame augmentation string: " + aug); } return false; diff --git a/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s b/lld/test/ELF/stack-tagging-cfi.s copy from llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s copy to lld/test/ELF/stack-tagging-cfi.s --- a/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s +++ b/lld/test/ELF/stack-tagging-cfi.s @@ -1,5 +1,6 @@ # RUN: llvm-mc -filetype=obj -triple aarch64-generic-linux -mattr=+mte %s -o %t.o -# RUN: llvm-objdump -s --dwarf=frames %t.o | FileCheck %s +# RUN: ld.lld --eh-frame-hdr %t.o -o %t +# RUN: llvm-objdump -s --dwarf=frames %t | FileCheck %s # CHECK: Augmentation: "zRG" diff --git a/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s b/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s --- a/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s +++ b/llvm/test/DebugInfo/AArch64/stack-tagging-cfi.s @@ -1,5 +1,5 @@ -# RUN: llvm-mc -filetype=obj -triple aarch64-generic-linux -mattr=+mte %s -o %t.o -# RUN: llvm-objdump -s --dwarf=frames %t.o | FileCheck %s +# RUN: llvm-mc -filetype=obj -triple aarch64 -mattr=+mte %s -o %t.o +# RUN: llvm-objdump --dwarf=frames %t.o | FileCheck %s # CHECK: Augmentation: "zRG" @@ -16,6 +16,3 @@ .size WithUnwind, .Lfunc_end0-WithUnwind .cfi_endproc // -- End function - .globl NoUnwind // -- Begin function NoUnwind - .p2align 2 - .type NoUnwind,@function