57 lines · plain
1// REQUIRES: x862// RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t.o3// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared4// RUN: llvm-readobj -S -l --section-data -r %t.so | FileCheck %s5 6// CHECK: Name: .got7// CHECK-NEXT: Type: SHT_PROGBITS8// CHECK-NEXT: Flags [9// CHECK-NEXT: SHF_ALLOC10// CHECK-NEXT: SHF_WRITE11// CHECK-NEXT: ]12// CHECK-NEXT: Address:13// CHECK-NEXT: Offset:14// CHECK-NEXT: Size:15// CHECK-NEXT: Link:16// CHECK-NEXT: Info:17// CHECK-NEXT: AddressAlignment:18// CHECK-NEXT: EntrySize:19// CHECK-NEXT: SectionData (20// CHECK-NEXT: 0000: 7421000021// CHECK-NEXT: )22 23// CHECK: Name: .got.plt24// CHECK-NEXT: Type: SHT_PROGBITS25// CHECK-NEXT: Flags [26// CHECK-NEXT: SHF_ALLOC27// CHECK-NEXT: SHF_WRITE28// CHECK-NEXT: ]29// CHECK-NEXT: Address:30// CHECK-NEXT: Offset:31// CHECK-NEXT: Size:32// CHECK-NEXT: Link:33// CHECK-NEXT: Info:34// CHECK-NEXT: AddressAlignment:35// CHECK-NEXT: EntrySize:36// CHECK-NEXT: SectionData (37// CHECK-NEXT: 0000: 74210000 00000000 0000000038// CHECK-NEXT: )39 40// CHECK: Type: PT_DYNAMIC41// CHECK-NEXT: Offset: 0x17442// CHECK-NEXT: VirtualAddress: 0x217443// CHECK-NEXT: PhysicalAddress: 0x217444 45// CHECK: Relocations [46// CHECK-NEXT: Section ({{.*}}) .rel.dyn {47// CHECK-NEXT: 0x21C4 R_386_RELATIVE -48// CHECK-NEXT: }49// CHECK-NEXT: ]50 51 calll .L0$pb52.L0$pb:53 popl %eax54.Ltmp0:55 addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L0$pb), %eax56 movl _DYNAMIC@GOT(%eax), %eax57