	.section ".tbss"
	.align	4
	.globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8
bg1:	.word 0
bg2:	.word 0
bg3:	.word 0
bg4:	.word 0
bg5:	.word 0
bg6:	.word 0
bg7:	.word 0
bg8:	.word 0
bl1:	.word 0
bl2:	.word 0
bl3:	.word 0
bl4:	.word 0
bl5:	.word 0
bl6:	.word 0
bl7:	.word 0
bl8:	.word 0
	.text
	.globl	_start
	.type	_start,#function
	.proc	04
_start:
	save	%sp, -160, %sp
	.hidden	_GLOBAL_OFFSET_TABLE_
	sethi	%hh(_GLOBAL_OFFSET_TABLE_), %l1
	sethi	%lm(_GLOBAL_OFFSET_TABLE_), %l2
	or	%l1, %hm(_GLOBAL_OFFSET_TABLE_), %l1
	or	%l2, %lo(_GLOBAL_OFFSET_TABLE_), %l2
	sllx	%l1, 32, %l1
	add	%l1, %l2, %l4
	nop;nop;nop;nop

	/* IE against global var  */
	sethi	%tie_hi22(sG6), %o3
	add	%o3, %tie_lo10(sG6), %o3
	ldx	[%l4 + %o3], %o2, %tie_ldx(sG6)
	add	%g7, %o2, %o4, %tie_add(sG6)
	nop;nop;nop;nop

	/* IE -> LE against global var defined in exec  */
	sethi	%tie_hi22(bg6), %o3
	add	%o3, %tie_lo10(bg6), %o5
	ldx	[%l4 + %o5], %o2, %tie_ldx(bg6)
	add	%g7, %o2, %o4, %tie_add(bg6)
	nop;nop;nop;nop

	/* IE -> LE against local var  */
	sethi	%tie_hi22(bl6), %o3
	add	%o3, %tie_lo10(bl6), %o5
	ldx	[%l4 + %o5], %l2, %tie_ldx(bl6)
	add	%g7, %l2, %l2, %tie_add(bl6)
	nop;nop;nop;nop

	/* direct %g7 access IE -> LE against local var  */
	sethi	%tie_hi22(bl8), %o3
	add	%o3, %tie_lo10(bl8), %o5
	ldx	[%l4 + %o5], %l2, %tie_ldx(bl8)
	ldsw [%g7 + %l2], %l2, %tie_add(bl8)
	nop;nop;nop;nop

	/* IE -> LE against hidden but not local var  */
	sethi	%tie_hi22(sh6), %o3
	add	%o3, %tie_lo10(sh6), %o5
	ldx	[%l4 + %o5], %l2, %tie_ldx(sh6)
	add	%g7, %l2, %l2, %tie_add(sh6)
	nop;nop;nop;nop

	/* direct %g7 access IE -> LE against hidden but not local var  */
	sethi	%tie_hi22(bl8), %o3
	add	%o3, %tie_lo10(bl8), %o5
	ldx	[%l4 + %o5], %l2, %tie_ldx(bl8)
	stb	%l1, [%g7 + %l2], %tie_add(bl8)
	nop;nop;nop;nop

	/* LE, global var defined in exec  */
	sethi	%tle_hix22(sg2), %l1
	nop
	xor	%l1, %tle_lox10(sg2), %l2
	nop
	add	%g7, %l2, %l3
	nop;nop;nop;nop

	/* LE, local var  */
	sethi	%tle_hix22(bl2+2), %o0
	xor	%o0, %tle_lox10(bl2+2), %o0
	add	%g7, %o0, %o0
	nop;nop;nop;nop

	/* LE, hidden var defined in exec */
	sethi	%tle_hix22(sh2+1), %l1
	xor	%l1, %tle_lox10(sh2+1), %o5
	add	%g7, %o5, %o1
	nop;nop;nop;nop

	/* Direct %g7 access  */

	/* LE, global var defined in exec  */
	sethi	%tle_hix22(sg3), %l1
	xor	%l1, %tle_lox10(sg3), %o5
	ldx	[%g7 + %o5], %o1
	nop;nop;nop;nop

	/* LE, local var  */
	sethi	%tle_hix22(bl3 + 3), %o0
	xor	%o0, %tle_lox10(bl3 + 3), %o0
	stb	%o1, [%g7 + %o0]
	nop;nop;nop;nop

	/* LE, hidden var defined in exec  */
	sethi	%tle_hix22(sh3 + 3), %o2
	xor	%o2, %tle_lox10(sh3 + 3), %o4
	ldstub	[%g7 + %o4], %o5
	nop;nop;nop;nop

	ret
	restore
