Its PR34712, GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not yet supported. Code suggested by Rui Ueyama. Differential revision: https://reviews.llvm.org/D38407 llvm-svn: 315051
40 lines
1.1 KiB
ArmAsm
40 lines
1.1 KiB
ArmAsm
// REQUIRES: x86
|
|
// RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t.o
|
|
// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared
|
|
// RUN: llvm-readobj -s -l -section-data -r %t.so | FileCheck %s
|
|
|
|
// CHECK: Name: .got
|
|
// CHECK-NEXT: Type: SHT_PROGBITS
|
|
// CHECK-NEXT: Flags [
|
|
// CHECK-NEXT: SHF_ALLOC
|
|
// CHECK-NEXT: SHF_WRITE
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: Address:
|
|
// CHECK-NEXT: Offset:
|
|
// CHECK-NEXT: Size:
|
|
// CHECK-NEXT: Link:
|
|
// CHECK-NEXT: Info:
|
|
// CHECK-NEXT: AddressAlignment:
|
|
// CHECK-NEXT: EntrySize:
|
|
// CHECK-NEXT: SectionData (
|
|
// CHECK-NEXT: 0000: 00200000 |
|
|
// CHECK-NEXT: )
|
|
|
|
// CHECK: Relocations [
|
|
// CHECK-NEXT: Section ({{.*}}) .rel.dyn {
|
|
// CHECK-NEXT: 0x2050 R_386_RELATIVE - 0x0
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: ]
|
|
|
|
// CHECK: Type: PT_DYNAMIC
|
|
// CHECK-NEXT: Offset: 0x2000
|
|
// CHECK-NEXT: VirtualAddress: 0x2000
|
|
// CHECK-NEXT: PhysicalAddress: 0x2000
|
|
|
|
calll .L0$pb
|
|
.L0$pb:
|
|
popl %eax
|
|
.Ltmp0:
|
|
addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L0$pb), %eax
|
|
movl _DYNAMIC@GOT(%eax), %eax
|