brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 6574ae5 Raw
65 lines · plain
1// REQUIRES: x862 3// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o4// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/relocation-copy.s -o %t2.o5// RUN: ld.lld %t2.o -o %t2.so -shared -soname=so6// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t.exe7// RUN: llvm-readobj -S --section-data -r %t.exe | FileCheck %s8 9// Copy relocate x in a non-writable position.10        .global _start11_start:12        .quad x13 14// Resolved to 0 in a non-alloc section.15        .section foo16        .quad y17 18// Produce a dynamic relocation in a writable position.19        .section bar, "aw"20        .quad z21 22// CHECK:      Name: .text23// CHECK:      SectionData (24// CHECK-NEXT:   0000: 9033200025// CHECK-NEXT: )26 27// CHECK:      Name: bar28// CHECK-NEXT: Type: SHT_PROGBITS29// CHECK-NEXT: Flags [30// CHECK-NEXT:   SHF_ALLOC31// CHECK-NEXT:   SHF_WRITE32// CHECK-NEXT: ]33// CHECK-NEXT: Address: 0x20338034// CHECK-NEXT: Offset: 0x38035// CHECK-NEXT: Size: 836// CHECK-NEXT: Link: 037// CHECK-NEXT: Info: 038// CHECK-NEXT: AddressAlignment: 139// CHECK-NEXT: EntrySize: 040// CHECK-NEXT: SectionData (41// CHECK-NEXT:   0000: 0000000042// CHECK-NEXT: )43 44// CHECK:      Name: foo45// CHECK-NEXT: Type: SHT_PROGBITS46// CHECK-NEXT: Flags [47// CHECK-NEXT: ]48// CHECK-NEXT: Address: 0x049// CHECK-NEXT: Offset: 0x38850// CHECK-NEXT: Size: 851// CHECK-NEXT: Link: 052// CHECK-NEXT: Info: 053// CHECK-NEXT: AddressAlignment: 154// CHECK-NEXT: EntrySize: 055// CHECK-NEXT: SectionData (56// CHECK-NEXT:   0000: 0000000057// CHECK-NEXT: )58 59// CHECK:      Relocations [60// CHECK-NEXT:   Section (4) .rela.dyn {61// CHECK-NEXT:     0x203390 R_X86_64_COPY x 0x062// CHECK-NEXT:     0x203380 R_X86_64_64 z 0x063// CHECK-NEXT:   }64// CHECK-NEXT: ]65