2 // RUN
: llvm-mc
-filetype
=obj
-triple
=x86_64-unknown-linux
%s
-o
%t.o
3 // RUN
: ld.lld
%t.o
-o
%t1
4 // RUN
: llvm-readobj
-r
%t1 | FileCheck
--check-prefix
=NORELOC
%s
5 // RUN
: llvm-objdump
--no-print-imm-hex
-d
--no-show-raw-insn
%t1 | FileCheck
--check-prefix
=DISASM
%s
7 // NORELOC
: Relocations
[
11 // DISASM-NEXT
: movq $
-8, %rax
12 // DISASM-NEXT
: movq $
-8, %r15
13 // DISASM-NEXT
: leaq
-8(%rax
), %rax
14 // DISASM-NEXT
: leaq
-8(%r15), %r15
15 // DISASM-NEXT
: addq $
-8, %rsp
16 // DISASM-NEXT
: addq $
-8, %r12
17 // DISASM-NEXT
: movq $
-4, %rax
18 // DISASM-NEXT
: movq $
-4, %r15
19 // DISASM-NEXT
: leaq
-4(%rax
), %rax
20 // DISASM-NEXT
: leaq
-4(%r15), %r15
21 // DISASM-NEXT
: addq $
-4, %rsp
22 // DISASM-NEXT
: addq $
-4, %r12
25 // DISASM-NEXT
: movq
%fs:0, %rax
26 // DISASM-NEXT
: leaq
-8(%rax
), %rcx
27 // DISASM-NEXT
: movq
%fs:0, %rax
28 // DISASM-NEXT
: leaq
-4(%rax
), %rcx
31 // DISASM-NEXT
: movq
%fs:0, %rax
32 // DISASM-NEXT
: leaq
-8(%rax
), %rax
33 // DISASM-NEXT
: movq
%fs:0, %rax
34 // DISASM-NEXT
: leaq
-4(%rax
), %rax
37 // DISASM
: <_DTPOFF64_1
>:
39 // DISASM
: <_DTPOFF64_2
>:
43 .section .tbss,"awT",@nobits
60 movq tls0@GOTTPOFF
(%rip
), %rax
61 movq tls0@GOTTPOFF
(%rip
), %r15
62 addq tls0@GOTTPOFF
(%rip
), %rax
63 addq tls0@GOTTPOFF
(%rip
), %r15
64 addq tls0@GOTTPOFF
(%rip
), %rsp
65 addq tls0@GOTTPOFF
(%rip
), %r12
66 movq tls1@GOTTPOFF
(%rip
), %rax
67 movq tls1@GOTTPOFF
(%rip
), %r15
68 addq tls1@GOTTPOFF
(%rip
), %rax
69 addq tls1@GOTTPOFF
(%rip
), %r15
70 addq tls1@GOTTPOFF
(%rip
), %rsp
71 addq tls1@GOTTPOFF
(%rip
), %r12
74 leaq tls0@tlsld
(%rip
), %rdi
75 callq __tls_get_addr@PLT
76 leaq tls0@dtpoff
(%rax
),%rcx
77 leaq tls1@tlsld
(%rip
), %rdi
78 callq __tls_get_addr@PLT
79 leaq tls1@dtpoff
(%rax
),%rcx
83 leaq tls0@tlsgd
(%rip
),%rdi
86 call __tls_get_addr@plt
88 leaq tls1@tlsgd
(%rip
),%rdi
91 call __tls_get_addr@plt