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