diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2016-04-12 22:08:23 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2016-04-12 22:08:23 +0000 |
commit | 91641d9947ad062f431582b2efe0dd4d9d561129 (patch) | |
tree | 6ee40c5b9c0b223dd17665c04d1926e03f9abd25 | |
parent | 3774afba07064c03628173721146e835b6c20de5 (diff) | |
download | bcm5719-llvm-91641d9947ad062f431582b2efe0dd4d9d561129.tar.gz bcm5719-llvm-91641d9947ad062f431582b2efe0dd4d9d561129.zip |
Add a few more cases to this test.
It now documents how we currently handle relocations for
alloc/non-alloc.
llvm-svn: 266141
-rw-r--r-- | lld/test/ELF/relocation-non-alloc.s | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/lld/test/ELF/relocation-non-alloc.s b/lld/test/ELF/relocation-non-alloc.s index 4ca4183b9c6..da6041db46a 100644 --- a/lld/test/ELF/relocation-non-alloc.s +++ b/lld/test/ELF/relocation-non-alloc.s @@ -1,8 +1,25 @@ // REQUIRES: x86 // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t -// RUN: ld.lld %t -o %t2 -// RUN: llvm-readobj -s -section-data %t2 | FileCheck %s +// RUN: ld.lld %t -o %t2 -shared +// RUN: llvm-readobj -s -section-data -r %t2 | FileCheck %s + +// CHECK: Name: .text +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: SHF_EXECINSTR +// CHECK-NEXT: ] +// CHECK-NEXT: Address: 0x1000 +// CHECK-NEXT: Offset: 0x1000 +// CHECK-NEXT: Size: 16 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 4 +// CHECK-NEXT: EntrySize: 0 +// CHECK-NEXT: SectionData ( +// CHECK-NEXT: 0000: 00100000 00000000 00000000 00000000 +// CHECK-NEXT: ) // CHECK: Name: foo // CHECK-NEXT: Type: SHT_PROGBITS @@ -10,16 +27,28 @@ // CHECK-NEXT: ] // CHECK-NEXT: Address: 0x0 // CHECK-NEXT: Offset: -// CHECK-NEXT: Size: 4 +// CHECK-NEXT: Size: 16 // CHECK-NEXT: Link: 0 // CHECK-NEXT: Info: 0 // CHECK-NEXT: AddressAlignment: 1 // CHECK-NEXT: EntrySize: 0 // CHECK-NEXT: SectionData ( -// CHECK-NEXT: 0000: 00100100 +// CHECK-NEXT: 0000: 00100000 00000000 00000000 00000000 // CHECK-NEXT: ) - .global _start -_start: +// CHECK: Relocations [ +// CHECK-NEXT: Section ({{.}}) .rela.dyn { +// CHECK-NEXT: 0x1000 R_X86_64_RELATIVE - 0x1000 +// CHECK-NEXT: 0x1008 R_X86_64_64 zed 0x0 +// CHECK-NEXT: } +// CHECK-NEXT: ] + + .global zed +zed: +bar: + .quad bar + .quad zed + .section foo - .long _start + .quad bar + .quad zed |