1	.section ".data.rel.ro", "aw", @progbits
2	/* Align, so that .got is likely at address 0x2080.  */
3	.balign	4096
4	.section ".tbss", "awT", @nobits
5bl1:	.space 4
6bl2:	.space 4
7bl3:	.space 4
8bl4:	.space 4
9bl5:	.space 4
10	.text
11	/* Align, so that fn3 is likely at address 0x1000.  */
12	.balign	4096
13	.globl	fn3
14	.type	fn3,@function
15fn3:
16	pushl	%ebp
17	movl	%esp, %ebp
18
19	/* @indntpoff IE against global var  */
20	movl	%gs:0, %eax
21	nop;nop
22	addl	sg1@indntpoff, %eax
23	nop;nop;nop;nop
24
25	/* @indntpoff direct %gs access IE against global var  */
26	movl	sg2@indntpoff, %edx
27	nop;nop
28	movl	%gs:(%edx), %eax
29	nop;nop;nop;nop
30
31	/* @indntpoff IE against hidden var */
32	movl	%gs:0, %eax
33	nop;nop
34	addl	sh1@indntpoff, %eax
35	nop;nop;nop;nop
36
37	/* @indntpoff direct %gs access IE against hidden var */
38	movl	sh2@indntpoff, %edx
39	nop;nop
40	movl	%gs:(%edx), %eax
41	nop;nop;nop;nop
42
43	/* @indntpoff IE against local var  */
44	movl	%gs:0, %eax
45	nop;nop
46	addl	bl1@indntpoff, %eax
47	nop;nop;nop;nop
48
49	/* @indntpoff direct %gs access IE against local var  */
50	movl	bl2@indntpoff, %edx
51	nop;nop
52	movl	%gs:(%edx), %eax
53	nop;nop;nop;nop
54
55	/* LE @tpoff, global var  */
56	movl	$-3+sg3@tpoff, %edx
57	nop;nop
58	movl	%gs:0, %eax
59	nop;nop
60	subl	%edx, %eax
61	nop;nop;nop;nop
62
63	/* LE @tpoff, local var  */
64	movl	$-1+bl3@tpoff, %eax
65	nop;nop
66	movl	%gs:0, %edx
67	nop;nop
68	subl	%eax, %edx
69	nop;nop;nop;nop
70
71	/* LE @ntpoff, global var  */
72	movl	%gs:0, %eax
73	nop;nop
74	leal	2+sg4@ntpoff(%eax), %edx
75	nop;nop;nop;nop
76
77	/* LE @ntpoff, hidden var, non-canonical sequence  */
78	movl	$sh3@ntpoff, %eax
79	nop;nop
80	movl	%gs:0, %edx
81	nop;nop
82	addl	%eax, %edx
83	nop;nop;nop;nop
84
85	/* LE @ntpoff, local var, non-canonical sequence */
86	movl	%gs:0, %edx
87	nop;nop
88	addl	$bl4@ntpoff+1, %edx
89	nop;nop;nop;nop
90
91	/* Direct %gs access  */
92
93	/* LE @ntpoff, global var  */
94	movl	%gs:sg5@ntpoff, %eax
95	nop;nop;nop;nop
96
97	/* LE @ntpoff, local var  */
98	movl	%gs:bl5@ntpoff+3, %edx
99	nop;nop;nop;nop
100
101	/* LE @ntpoff, hidden var  */
102	movl	%gs:1+sh4@ntpoff, %edx
103	nop;nop;nop;nop
104
105	movl    -4(%ebp), %ebx
106	leave
107	ret
108