diff options
Diffstat (limited to 'test/ELF/gc-sections-lsda.s')
-rw-r--r-- | test/ELF/gc-sections-lsda.s | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/ELF/gc-sections-lsda.s b/test/ELF/gc-sections-lsda.s new file mode 100644 index 000000000000..b5bed8f0c816 --- /dev/null +++ b/test/ELF/gc-sections-lsda.s @@ -0,0 +1,21 @@ +// REQUIRES: x86 + +// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux +// RUN: ld.lld -shared --gc-sections %t.o -o %t + +// Test that we handle .eh_frame keeping sections alive. We could be more +// precise and gc the entire contents of this file, but test that at least +// we are consistent: if we keep .abc, we have to keep .foo + +// RUN: llvm-readobj -s %t | FileCheck %s +// CHECK: Name: .abc +// CHECK: Name: .foo (38) + + .cfi_startproc + .cfi_lsda 0x1b,zed + .cfi_endproc + .section .abc,"a" +zed: + .long bar-. + .section .foo,"ax" +bar: |