	.data
	/* Align, so that .got is likely at address 0x2080.  */
	.balign	4096
	.section ".tbss", "awT", @nobits
bl1:	.space 4
bl2:	.space 4
bl3:	.space 4
bl4:	.space 4
bl5:	.space 4
	.text
	/* Align, so that fn3 is likely at address 0x1000.  */
	.balign	4096
	.globl	fn3
	.type	fn3,@function
fn3:
	pushl	%ebp
	movl	%esp, %ebp

	/* @indntpoff IE against global var  */
	movl	%gs:0, %eax
	nop;nop
	addl	sg1@indntpoff, %eax
	nop;nop;nop;nop

	/* @indntpoff direct %gs access IE against global var  */
	movl	sg2@indntpoff, %edx
	nop;nop
	movl	%gs:(%edx), %eax
	nop;nop;nop;nop

	/* @indntpoff IE against hidden var */
	movl	%gs:0, %eax
	nop;nop
	addl	sh1@indntpoff, %eax
	nop;nop;nop;nop

	/* @indntpoff direct %gs access IE against hidden var */
	movl	sh2@indntpoff, %edx
	nop;nop
	movl	%gs:(%edx), %eax
	nop;nop;nop;nop

	/* @indntpoff IE against local var  */
	movl	%gs:0, %eax
	nop;nop
	addl	bl1@indntpoff, %eax
	nop;nop;nop;nop

	/* @indntpoff direct %gs access IE against local var  */
	movl	bl2@indntpoff, %edx
	nop;nop
	movl	%gs:(%edx), %eax
	nop;nop;nop;nop

	/* LE @tpoff, global var  */
	movl	$-3+sg3@tpoff, %edx
	nop;nop
	movl	%gs:0, %eax
	nop;nop
	subl	%edx, %eax
	nop;nop;nop;nop

	/* LE @tpoff, local var  */
	movl	$-1+bl3@tpoff, %eax
	nop;nop
	movl	%gs:0, %edx
	nop;nop
	subl	%eax, %edx
	nop;nop;nop;nop

	/* LE @ntpoff, global var  */
	movl	%gs:0, %eax
	nop;nop
	leal	2+sg4@ntpoff(%eax), %edx
	nop;nop;nop;nop

	/* LE @ntpoff, hidden var, non-canonical sequence  */
	movl	$sh3@ntpoff, %eax
	nop;nop
	movl	%gs:0, %edx
	nop;nop
	addl	%eax, %edx
	nop;nop;nop;nop

	/* LE @ntpoff, local var, non-canonical sequence */
	movl	%gs:0, %edx
	nop;nop
	addl	$bl4@ntpoff+1, %edx
	nop;nop;nop;nop

	/* Direct %gs access  */

	/* LE @ntpoff, global var  */
	movl	%gs:sg5@ntpoff, %eax
	nop;nop;nop;nop

	/* LE @ntpoff, local var  */
	movl	%gs:bl5@ntpoff+3, %edx
	nop;nop;nop;nop

	/* LE @ntpoff, hidden var  */
	movl	%gs:1+sh4@ntpoff, %edx
	nop;nop;nop;nop

	movl    -4(%ebp), %ebx
	leave
	ret
