53 lines
1.3 KiB
ArmAsm
53 lines
1.3 KiB
ArmAsm
// REQUIRES: x86
|
|
// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
|
|
// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared
|
|
// RUN: llvm-readobj -r -s -section-data %t.so | FileCheck %s
|
|
|
|
.byte 0x66
|
|
leaq foo@tlsgd(%rip), %rdi
|
|
.value 0x6666
|
|
rex64
|
|
call __tls_get_addr@PLT
|
|
|
|
.byte 0x66
|
|
leaq bar@tlsgd(%rip), %rdi
|
|
.value 0x6666
|
|
rex64
|
|
call __tls_get_addr@PLT
|
|
|
|
.section .tbss,"awT",@nobits
|
|
|
|
.hidden foo
|
|
.globl foo
|
|
foo:
|
|
.zero 4
|
|
|
|
.hidden bar
|
|
.globl bar
|
|
bar:
|
|
.zero 4
|
|
|
|
|
|
// CHECK: Name: .got (
|
|
// CHECK-NEXT: Type: SHT_PROGBITS
|
|
// CHECK-NEXT: Flags [
|
|
// CHECK-NEXT: SHF_ALLOC (0x2)
|
|
// CHECK-NEXT: SHF_WRITE (0x1)
|
|
// CHECK-NEXT: ]
|
|
// CHECK-NEXT: Address: 0x30D0
|
|
// CHECK-NEXT: Offset: 0x30D0
|
|
// CHECK-NEXT: Size: 32
|
|
// CHECK-NEXT: Link: 0
|
|
// CHECK-NEXT: Info: 0
|
|
// CHECK-NEXT: AddressAlignment: 8
|
|
// CHECK-NEXT: EntrySize: 0
|
|
// CHECK-NEXT: SectionData (
|
|
// CHECK-NEXT: 0000: 00000000 00000000 00000000 00000000 |................|
|
|
// CHECK-NEXT: 0010: 00000000 00000000 04000000 00000000 |................|
|
|
// CHECK-NEXT: )
|
|
|
|
// CHECK: Section ({{.*}}) .rela.dyn {
|
|
// CHECK-NEXT: 0x30D0 R_X86_64_DTPMOD64 - 0x0
|
|
// CHECK-NEXT: 0x30E0 R_X86_64_DTPMOD64 - 0x0
|
|
// CHECK-NEXT: }
|