2 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%s
-o
%t.o
3 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%p
/Inputs
/tls-opt-gdie.s
-o
%tso.o
4 // RUN
: ld.lld
-shared
%tso.o
-soname
=so
-o
%t.so
5 // RUN
: ld.lld
%t.o
%t.so
-o
%t1
6 // RUN
: llvm-readelf
-S
%t1 | FileCheck
--check-prefix
=SEC
--implicit-check-
not=.plt %s
7 // RUN
: llvm-readobj
-r
%t1 | FileCheck
--check-prefix
=RELOC
%s
8 // RUN
: llvm-objdump
--no-print-imm-hex
-d
--no-show-raw-insn
%t1 | FileCheck
--check-prefix
=DISASM
%s
10 // SEC
: .got PROGBITS 00000000002023a8 0003a8 000010 00 WA 0 0 8
12 //RELOC
: Relocations
[
13 //RELOC-NEXT
: Section
(5) .rela.dyn {
14 //RELOC-NEXT
: 0x2023A8 R_X86_64_TPOFF64 tlsshared0
0x0
15 //RELOC-NEXT
: 0x2023B0 R_X86_64_TPOFF64 tlsshared1
0x0
19 // 0x2023A8 - (2012d1+
7) = 4304
20 // 0x2023B0 - (2012e1+
7) = 4296
21 // DISASM
: Disassembly of section
.text:
23 // DISASM-NEXT
: <_start
>:
24 // DISASM-NEXT
: movq
%fs:0, %rax
25 // DISASM-NEXT
: 2012d1
: addq
4304(%rip
), %rax
26 // DISASM-NEXT
: movq
%fs:0, %rax
27 // DISASM-NEXT
: 2012e1
: addq
4296(%rip
), %rax
33 leaq tlsshared0@tlsgd
(%rip
),%rdi
36 call __tls_get_addr@plt
38 leaq tlsshared1@tlsgd
(%rip
),%rdi
41 call __tls_get_addr@plt