1 /* Force .data aligned to 4K, so .got very likely gets at 0x102190
2 (0x60 bytes .tdata and 0x130 bytes .dynamic) */
5 .section ".tdata", "awT", @progbits
6 .globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
7 .globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
8 .hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
33 /* Force .text aligned to 4K, so it very likely gets at 0x1000. */
45 leaq sg1@tlsgd
(%rip
), %rdi
48 call __tls_get_addr@plt
51 /* GD -> IE because variable is referenced through IE too */
53 leaq sg2@tlsgd
(%rip
), %rdi
56 call __tls_get_addr@plt
59 /* GD against local variable */
61 leaq sl1@tlsgd
(%rip
), %rdi
64 call __tls_get_addr@plt
67 /* GD -> IE against local variable referenced through IE too */
69 leaq sl2@tlsgd
(%rip
), %rdi
72 call __tls_get_addr@plt
75 /* GD against hidden and local variable */
77 leaq sh1@tlsgd
(%rip
), %rdi
80 call __tls_get_addr@plt
83 /* GD -> IE against hidden and local variable referenced through
86 leaq sh2@tlsgd
(%rip
), %rdi
89 call __tls_get_addr@plt
92 /* GD against hidden but not local variable */
94 leaq sH1@tlsgd
(%rip
), %rdi
97 call __tls_get_addr@plt
100 /* GD -> IE against hidden but not local variable referenced through
103 leaq sH2@tlsgd
(%rip
), %rdi
106 call __tls_get_addr@plt
110 leaq sl1@tlsld
(%rip
), %rdi
111 call __tls_get_addr@plt
113 leaq sl1@dtpoff
(%rax
), %rdx
115 leaq
2+sl2@dtpoff
(%rax
), %r9
118 /* LD against hidden and local variables */
119 leaq sh1@tlsld
(%rip
), %rdi
120 call __tls_get_addr@plt
122 leaq sh1@dtpoff
(%rax
), %rdx
124 leaq sh2@dtpoff+
3(%rax
), %rcx
127 /* LD against hidden but not local variables */
128 leaq sH1@tlsld
(%rip
), %rdi
129 call __tls_get_addr@plt
131 leaq sH1@dtpoff
(%rax
), %r12
133 leaq sH2@dtpoff+
1(%rax
), %rcx
136 /* IE against global var */
139 addq sg2@gottpoff
(%rip
), %rcx
142 /* IE against local var */
145 addq sl2@gottpoff
(%rip
), %r14
148 /* IE against hidden and local var */
151 addq sh2@gottpoff
(%rip
), %rcx
154 /* IE against hidden but not local var */
157 addq sH2@gottpoff
(%rip
), %rcx
160 /* Direct access through %fs */
162 /* IE against global var */
163 movq sg5@gottpoff
(%rip
), %rcx
165 movq
%fs:(%rcx
), %rdx
168 /* IE against local var */
169 movq sl5@gottpoff
(%rip
), %r10
171 movq
%fs:(%r10), %r12
174 /* IE against hidden and local var */
175 movq sh5@gottpoff
(%rip
), %rdx
177 movq
%fs:(%rdx
), %rdx
180 /* IE against hidden but not local var */
181 movq sH5@gottpoff
(%rip
), %rcx
183 movq
%fs:(%rcx
), %rdx