1// REQUIRES: x86
2// RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux
3// RUN: ld.lld --hash-style=sysv %t.o -o %t.so -shared
4// RUN: llvm-readobj -r -S --section-data %t.so | FileCheck %s
5
6        .byte   0x66
7        leaq    foo@tlsgd(%rip), %rdi
8        .value  0x6666
9        rex64
10        call    __tls_get_addr@PLT
11
12        .byte   0x66
13        leaq    bar@tlsgd(%rip), %rdi
14        .value  0x6666
15        rex64
16        call    __tls_get_addr@PLT
17
18        .section        .tbss,"awT",@nobits
19
20        .hidden foo
21        .globl  foo
22foo:
23        .zero   4
24
25        .hidden bar
26        .globl  bar
27bar:
28        .zero   4
29
30
31// CHECK:      Name: .got (
32// CHECK-NEXT: Type: SHT_PROGBITS
33// CHECK-NEXT: Flags [
34// CHECK-NEXT:   SHF_ALLOC (0x2)
35// CHECK-NEXT:   SHF_WRITE (0x1)
36// CHECK-NEXT: ]
37// CHECK-NEXT: Address: 0x23F0
38// CHECK-NEXT: Offset: 0x3F0
39// CHECK-NEXT: Size: 32
40// CHECK-NEXT: Link: 0
41// CHECK-NEXT: Info: 0
42// CHECK-NEXT: AddressAlignment: 8
43// CHECK-NEXT: EntrySize: 0
44// CHECK-NEXT: SectionData (
45// CHECK-NEXT:   0000: 00000000 00000000 00000000 00000000  |................|
46// CHECK-NEXT:   0010: 00000000 00000000 04000000 00000000  |................|
47// CHECK-NEXT: )
48
49// CHECK:      Section ({{.*}}) .rela.dyn {
50// CHECK-NEXT:   0x23F0 R_X86_64_DTPMOD64 - 0x0
51// CHECK-NEXT:   0x2400 R_X86_64_DTPMOD64 - 0x0
52// CHECK-NEXT: }
53