OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-sh/] [tlsbin.s] - Rev 859

Go to most recent revision | Compare with Previous | Blame | View Log

	.section ".tbss", "awT", @nobits
	.globl bg1, bg2
bg1:	.space 4
bg2:	.space 4
bl1:	.space 4
bl2:	.space 4
	.text
	.globl	_start
	.type	_start,@function
_start:
	mov.l	r12,@-r15
	mov.l	r14,@-r15
	mov	r15,r14
	! Set up .GOT pointer for non-pic @gottpoff sequences
	mova	.L3,r0
	mov.l	.L3,r12
	add	r0,r12
	nop;nop;nop;nop
 
	! @GOTTPOFF IE against global var
	mov.l	1f,r0
	stc	gbr,r1
	mov.l	@(r0,r12),r0
	bra	2f
	add	r0,r1
	.align	2
1:	.long	sG3@GOTTPOFF
2:
	nop;nop;nop;nop
 
	! @GOTTPOFF IE -> LE against global var defined in exec
	mov.l	1f,r0
	stc	gbr,r1
	mov.l	@(r0,r12),r0
	bra	2f
	add	r0,r1
	.align	2
1:	.long	bg1@GOTTPOFF
2:
	nop;nop;nop;nop
 
	! @GOTTPOFF IE -> LE against local var
	mov.l	1f,r0
	stc	gbr,r1
	mov.l	@(r0,r12),r0
	bra	2f
	add	r0,r1
	.align	2
1:	.long	bl2@GOTTPOFF
2:
	nop;nop;nop;nop
 
	! @GOTTPOFF IE -> LE against hidden but not local var
	mov.l	1f,r0
	stc	gbr,r1
	mov.l	@(r0,r12),r0
	bra	2f
	add	r0,r1
	.align	2
1:	.long	sh2@GOTTPOFF
2:
	nop;nop;nop;nop
 
	! LE @TPOFF, global var defined in exec
	stc	gbr,r1
	mov.l	.L4,r0
	add	r1,r0
	nop;nop;nop;nop
 
	! LE @TPOFF, local var
	stc	gbr,r1
	mov.l	.L5,r0
	add	r1,r0
	nop;nop;nop;nop
 
	! LE @TPOFF, hidden var defined in exec
	stc	gbr,r1
	mov.l	.L6,r0
	add	r1,r0
	nop;nop;nop;nop
 
	mov	r14,r15
	rts	
	mov.l	@r15+,r14
 
	.align	2
.L3:	.long	_GLOBAL_OFFSET_TABLE_
.L4:	.long	sg1@TPOFF
.L5:	.long	bl1@TPOFF
.L6:	.long	sh1@TPOFF
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.