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
46 call __tls_get_addr@plt
49 /* GD -> IE because variable is referenced through IE too */
51 leaq sg2@tlsgd
(%rip
), %rdi
52 call __tls_get_addr@plt
55 /* GD against local variable */
57 leaq sl1@tlsgd
(%rip
), %rdi
58 call __tls_get_addr@plt
61 /* GD -> IE against local variable referenced through IE too */
63 leaq sl2@tlsgd
(%rip
), %rdi
64 call __tls_get_addr@plt
67 /* GD against hidden and local variable */
69 leaq sh1@tlsgd
(%rip
), %rdi
70 call __tls_get_addr@plt
73 /* GD -> IE against hidden and local variable referenced through
76 leaq sh2@tlsgd
(%rip
), %rdi
77 call __tls_get_addr@plt
80 /* GD against hidden but not local variable */
82 leaq sH1@tlsgd
(%rip
), %rdi
83 call __tls_get_addr@plt
86 /* GD -> IE against hidden but not local variable referenced through
89 leaq sH2@tlsgd
(%rip
), %rdi
90 call __tls_get_addr@plt
94 leaq sl1@tlsld
(%rip
), %rdi
95 call __tls_get_addr@plt
97 leaq sl1@dtpoff
(%rax
), %rdx
99 leaq
2+sl2@dtpoff
(%rax
), %r9
102 /* LD against hidden and local variables */
103 leaq sh1@tlsld
(%rip
), %rdi
104 call __tls_get_addr@plt
106 leaq sh1@dtpoff
(%rax
), %rdx
108 leaq sh2@dtpoff+
3(%rax
), %rcx
111 /* LD against hidden but not local variables */
112 leaq sH1@tlsld
(%rip
), %rdi
113 call __tls_get_addr@plt
115 leaq sH1@dtpoff
(%rax
), %r12
117 leaq sH2@dtpoff+
1(%rax
), %rcx
120 /* IE against global var */
123 addq sg2@gottpoff
(%rip
), %rcx
126 /* IE against local var */
129 addq sl2@gottpoff
(%rip
), %r14
132 /* IE against hidden and local var */
135 addq sh2@gottpoff
(%rip
), %rcx
138 /* IE against hidden but not local var */
141 addq sH2@gottpoff
(%rip
), %rcx
144 /* Direct access through %fs */
146 /* IE against global var */
147 movq sg5@gottpoff
(%rip
), %rcx
149 movq
%fs:(%rcx
), %rdx
152 /* IE against local var */
153 movq sl5@gottpoff
(%rip
), %r10
155 movq
%fs:(%r10), %r12
158 /* IE against hidden and local var */
159 movq sh5@gottpoff
(%rip
), %rdx
161 movq
%fs:(%rdx
), %rdx
164 /* IE against hidden but not local var */
165 movq sH5@gottpoff
(%rip
), %rcx
167 movq
%fs:(%rcx
), %rdx