diff options
Diffstat (limited to 'test/ELF/relocatable-ehframe.s')
| -rw-r--r-- | test/ELF/relocatable-ehframe.s | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/ELF/relocatable-ehframe.s b/test/ELF/relocatable-ehframe.s new file mode 100644 index 0000000000000..d48402099c366 --- /dev/null +++ b/test/ELF/relocatable-ehframe.s @@ -0,0 +1,51 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %p/Inputs/relocatable-ehframe.s -o %t2.o +# RUN: ld.lld -r %t1.o %t2.o -o %t +# RUN: llvm-readobj -r -s -section-data %t | FileCheck %s + +# CHECK: Name: .strtab +# CHECK-NEXT: Type: SHT_STRTAB +# CHECK-NEXT: Flags [ +# CHECK-NEXT: ] +# CHECK-NEXT: Address: +# CHECK-NEXT: Offset +# CHECK-NEXT: Size: 9 +# CHECK-NEXT: Link: 0 +# CHECK-NEXT: Info: 0 +# CHECK-NEXT: AddressAlignment: 1 +# CHECK-NEXT: EntrySize: 0 +# CHECK-NEXT: SectionData ( +# CHECK-NEXT: 0000: 00005F73 74617274 00 |.._start.| +# CHECK-NEXT: ) + +# CHECK: Relocations [ +# CHECK-NEXT: Section {{.*}} .rela.eh_frame { +# CHECK-NEXT: 0x20 R_X86_64_PC32 foo 0x0 +# CHECK-NEXT: 0x34 R_X86_64_PC32 bar 0x0 +# CHECK-NEXT: 0x48 R_X86_64_PC32 dah 0x0 +# CHECK-NEXT: 0x78 R_X86_64_PC32 foo1 0x0 +# CHECK-NEXT: 0x8C R_X86_64_PC32 bar1 0x0 +# CHECK-NEXT: 0xA0 R_X86_64_PC32 dah1 0x0 +# CHECK-NEXT: } +# CHECK-NEXT: ] + +.section foo,"ax",@progbits +.cfi_startproc + nop +.cfi_endproc + +.section bar,"ax",@progbits +.cfi_startproc + nop +.cfi_endproc + +.section dah,"ax",@progbits +.cfi_startproc + nop +.cfi_endproc + +.text +.globl _start +_start: + nop |
