	/* Force .got aligned to 4K, so it very likely gets at 0x804a100
	   (0x60 bytes .tdata and 0xa0 bytes .dynamic)  */
	.section ".tdata", "awT", @progbits
	.balign	4096
	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
sg1:	.long 17
sg2:	.long 18
sg3:	.long 19
sg4:	.long 20
sg5:	.long 21
sg6:	.long 22
sg7:	.long 23
sg8:	.long 24
sl1:	.long 65
sl2:	.long 66
sl3:	.long 67
sl4:	.long 68
sl5:	.long 69
sl6:	.long 70
sl7:	.long 71
sl8:	.long 72
sh1:	.long 257
sh2:	.long 258
sh3:	.long 259
sh4:	.long 260
sh5:	.long 261
sh6:	.long 262
sh7:	.long 263
sh8:	.long 264
	/* Force .text aligned to 4K, so it very likely gets at 0x8049000.  */
	.text
	.balign	4096
	.globl	fn2
	.type	fn2,@function
fn2:
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ebx
	pushl	%eax
	call	1f
1:	popl	%ebx
	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx
	nop;nop;nop;nop

	/* GD -> IE because variable is not defined in executable */
	leal	sG1@tlsgd(%ebx), %eax
	call	*___tls_get_addr@GOT(%ebx)
	nop;nop;nop;nop

	/* GD -> IE because variable is not defined in executable where
	   the variable is referenced through @gottpoff too */
	leal	sG2@tlsgd(%ecx), %eax
	call	*___tls_get_addr@GOT(%ecx)
	nop;nop;nop;nop

	/* GD -> IE because variable is not defined in executable where
	   the variable is referenced through @gotntpoff too */
	leal	sG3@tlsgd(%edx), %eax
	call	*___tls_get_addr@GOT(%edx)
	nop;nop;nop;nop

	/* GD -> IE because variable is not defined in executable where
	   the variable is referenced through @gottpoff and @gotntpoff too */
	leal	sG4@tlsgd(%edi), %eax
	call	*___tls_get_addr@GOT(%edi)
	nop;nop;nop;nop

	/* GD -> LE with global variable defined in executable */
	leal	sg1@tlsgd(%esi), %eax
	call	*___tls_get_addr@GOT(%esi)
	nop;nop;nop;nop

	/* GD -> LE with local variable defined in executable */
	leal	sl1@tlsgd(%ebp), %eax
	call	*___tls_get_addr@GOT(%ebp)
	nop;nop;nop;nop

	/* GD -> LE with hidden variable defined in executable */
	leal	sh1@tlsgd(%ebx), %eax
	call	*___tls_get_addr@GOT(%ebx)
	nop;nop;nop;nop

	/* LD -> LE */
	leal	sl1@tlsldm(%edi), %eax
	call	*___tls_get_addr@GOT(%edi)
	nop
	leal	sl1@dtpoff(%eax), %edx
	nop;nop
	leal	sl2@dtpoff(%eax), %ecx
	nop;nop;nop;nop

	/* LD -> LE against hidden variables */
	leal	sh1@tlsldm(%esi), %eax
	call	*___tls_get_addr@GOT(%esi)
	nop
	leal	sh1@dtpoff(%eax), %edx
	nop;nop
	leal	sh2@dtpoff(%eax), %ecx
	nop;nop;nop;nop

	/* @gottpoff IE against global var  */
	movl	%gs:0, %ecx
	nop;nop
	subl	sG2@gottpoff(%ebx), %ecx
	nop;nop;nop;nop

	/* @gottpoff IE against global var  */
	movl	%gs:0, %eax
	nop;nop
	subl	sG4@gottpoff(%ebx), %eax
	nop;nop;nop;nop

	/* @gotntpoff IE against global var  */
	movl	%gs:0, %ecx
	nop;nop
	addl	sG3@gotntpoff(%ebx), %ecx
	nop;nop;nop;nop

	/* @gotntpoff IE against global var  */
	movl	%gs:0, %eax
	nop;nop
	addl	sG4@gotntpoff(%ebx), %eax
	nop;nop;nop;nop

	/* @gottpoff IE -> LE against global var defined in exec */
	movl	%gs:0, %ecx
	nop;nop
	subl	sg1@gottpoff(%ebx), %ecx
	nop;nop;nop;nop

	/* @gotntpoff IE -> LE against local var */
	movl	%gs:0, %ecx
	nop;nop
	addl	sl1@gotntpoff(%ebx), %eax
	nop;nop;nop;nop

	/* @gottpoff IE -> LE against hidden var */
	movl	%gs:0, %ecx
	nop;nop
	subl	sh1@gottpoff(%ebx), %ecx
	nop;nop;nop;nop

	/* Direct access through %gs  */

	/* @gotntpoff IE against global var  */
	movl	sG5@gotntpoff(%ebx), %ecx
	nop;nop
	movl	%gs:(%ecx), %edx
	nop;nop;nop;nop

	/* @gotntpoff IE->LE against local var  */
	movl	sl5@gotntpoff(%ebx), %eax
	nop;nop
	movl	%gs:(%eax), %edx
	nop;nop;nop;nop

	/* @gotntpoff IE->LE against hidden var  */
	movl	sh5@gotntpoff(%ebx), %edx
	nop;nop
	movl	%gs:(%edx), %edx
	nop;nop;nop;nop

	/* GD -> IE because variable is not defined in executable */
	leal	sG1@tlsgd(%edi), %eax
	call	*___tls_get_addr@GOT(%edi)
	nop;nop;nop;nop

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