binutils-gdb/ld/testsuite/ld-sh/tlsbin.s

91 lines
1.4 KiB
ArmAsm

.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