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
24 // DISASM-NEXT
: movq $
-8, %r16
25 // DISASM-NEXT
: movq $
-8, %r20
26 // DISASM-NEXT
: movq $
-4, %r16
27 // DISASM-NEXT
: addq $
-8, %r16
28 // DISASM-NEXT
: addq $
-8, %r28
29 // DISASM-NEXT
: addq $
-4, %r16
31 // DISASM-NEXT
: addq $
-8, %r16, %r16
32 // DISASM-NEXT
: addq $
-8, %r16, %r20
33 // DISASM-NEXT
: addq $
-8, %r16, %rax
34 // DISASM-NEXT
: addq $
-8, %rax
, %r16
35 // DISASM-NEXT
: addq $
-8, %r8, %r16
36 // DISASM-NEXT
: addq $
-8, %rax
, %r12
38 // DISASM-NEXT
: {nf
} addq $
-8, %r8, %r16
39 // DISASM-NEXT
: {nf
} addq $
-8, %rax
, %r12
41 // DISASM-NEXT
: {nf
} addq $
-8, %r12
44 // DISASM-NEXT
: movq
%fs:0, %rax
45 // DISASM-NEXT
: leaq
-8(%rax
), %rcx
46 // DISASM-NEXT
: movq
%fs:0, %rax
47 // DISASM-NEXT
: leaq
-4(%rax
), %rcx
50 // DISASM-NEXT
: movq
%fs:0, %rax
51 // DISASM-NEXT
: leaq
-8(%rax
), %rax
52 // DISASM-NEXT
: movq
%fs:0, %rax
53 // DISASM-NEXT
: leaq
-4(%rax
), %rax
56 // DISASM
: <_DTPOFF64_1
>:
58 // DISASM
: <_DTPOFF64_2
>:
62 .section .tbss,"awT",@nobits
79 movq tls0@GOTTPOFF
(%rip
), %rax
80 movq tls0@GOTTPOFF
(%rip
), %r15
81 addq tls0@GOTTPOFF
(%rip
), %rax
82 addq tls0@GOTTPOFF
(%rip
), %r15
83 addq tls0@GOTTPOFF
(%rip
), %rsp
84 addq tls0@GOTTPOFF
(%rip
), %r12
85 movq tls1@GOTTPOFF
(%rip
), %rax
86 movq tls1@GOTTPOFF
(%rip
), %r15
87 addq tls1@GOTTPOFF
(%rip
), %rax
88 addq tls1@GOTTPOFF
(%rip
), %r15
89 addq tls1@GOTTPOFF
(%rip
), %rsp
90 addq tls1@GOTTPOFF
(%rip
), %r12
92 movq tls0@GOTTPOFF
(%rip
), %r16
93 movq tls0@GOTTPOFF
(%rip
), %r20
94 movq tls1@GOTTPOFF
(%rip
), %r16
95 addq tls0@GOTTPOFF
(%rip
), %r16
96 addq tls0@GOTTPOFF
(%rip
), %r28
97 addq tls1@GOTTPOFF
(%rip
), %r16
99 addq tls0@GOTTPOFF
(%rip
), %r16, %r16
100 addq tls0@GOTTPOFF
(%rip
), %r16, %r20
101 addq tls0@GOTTPOFF
(%rip
), %r16, %rax
102 addq tls0@GOTTPOFF
(%rip
), %rax
, %r16
103 addq
%r8, tls0@GOTTPOFF
(%rip
), %r16
104 addq tls0@GOTTPOFF
(%rip
), %rax
, %r12
106 {nf
} addq
%r8, tls0@GOTTPOFF
(%rip
), %r16
107 {nf
} addq tls0@GOTTPOFF
(%rip
), %rax
, %r12
109 {nf
} addq tls0@GOTTPOFF
(%rip
), %r12
112 leaq tls0@tlsld
(%rip
), %rdi
113 callq __tls_get_addr@PLT
114 leaq tls0@dtpoff
(%rax
),%rcx
115 leaq tls1@tlsld
(%rip
), %rdi
116 callq __tls_get_addr@PLT
117 leaq tls1@dtpoff
(%rax
),%rcx
121 leaq tls0@tlsgd
(%rip
),%rdi
124 call __tls_get_addr@plt
126 leaq tls1@tlsgd
(%rip
),%rdi
129 call __tls_get_addr@plt