include/elf/ChangeLog:
[binutils.git] / ld / testsuite / ld-i386 / tlsgdesc.s
blob9502a10d0f7705e47e65a29b39cba2e6910fb84a
1 .text
2 .globl fc1
3 .type fc1,@function
4 fc1:
5 pushl %ebp
6 movl %esp, %ebp
7 pushl %ebx
8 pushl %eax
9 call 1f
10 1: popl %ebx
11 addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
12 nop;nop;nop;nop
14 /* @gottpoff IE against global var */
15 movl %gs:0, %ecx
16 nop;nop
17 subl sG3@gottpoff(%ebx), %ecx
18 nop;nop;nop;nop
20 /* @gotntpoff IE against global var */
21 movl %gs:0, %ecx
22 nop;nop
23 addl sG4@gotntpoff(%ebx), %ecx
24 nop;nop;nop;nop
26 /* GD */
27 leal sG1@tlsgd(,%ebx,1), %eax
28 call ___tls_get_addr@plt
29 nop;nop;nop;nop
31 /* GD */
32 leal sG1@tlsdesc(%ebx), %eax
33 call *sG1@tlscall(%eax)
34 nop;nop;nop;nop
36 /* GD */
37 leal sG2@tlsdesc(%ebx), %eax
38 call *sG2@tlscall(%eax)
39 nop;nop;nop;nop
41 /* GD */
42 leal sG2@tlsgd(,%ebx,1), %eax
43 call ___tls_get_addr@plt
44 nop;nop;nop;nop
46 /* GD -> IE tpoff */
47 leal sG3@tlsgd(,%ebx,1), %eax
48 call ___tls_get_addr@plt
49 nop;nop;nop;nop
51 /* GD -> IE tpoff */
52 leal sG3@tlsdesc(%ebx), %eax
53 call *sG3@tlscall(%eax)
54 nop;nop;nop;nop
56 /* GD -> IE ntpoff */
57 leal sG4@tlsdesc(%ebx), %eax
58 call *sG4@tlscall(%eax)
59 nop;nop;nop;nop
61 /* GD -> IE ntpoff */
62 leal sG4@tlsgd(,%ebx,1), %eax
63 call ___tls_get_addr@plt
64 nop;nop;nop;nop
66 /* GD -> IE ntpoff */
67 leal sG5@tlsgd(,%ebx,1), %eax
68 call ___tls_get_addr@plt
69 nop;nop;nop;nop
71 /* GD -> IE ntpoff */
72 leal sG5@tlsdesc(%ebx), %eax
73 call *sG5@tlscall(%eax)
74 nop;nop;nop;nop
76 /* GD -> IE tpoff */
77 leal sG6@tlsdesc(%ebx), %eax
78 call *sG6@tlscall(%eax)
79 nop;nop;nop;nop
81 /* GD -> IE tpoff */
82 leal sG6@tlsgd(,%ebx,1), %eax
83 call ___tls_get_addr@plt
84 nop;nop;nop;nop
86 /* @gotntpoff IE against global var */
87 movl %gs:0, %ecx
88 nop;nop
89 addl sG5@gotntpoff(%ebx), %ecx
90 nop;nop;nop;nop
92 /* @gottpoff IE against global var */
93 movl %gs:0, %ecx
94 nop;nop
95 subl sG6@gottpoff(%ebx), %ecx
96 nop;nop;nop;nop
98 movl -4(%ebp), %ebx
99 leave