diff options
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s b/binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s deleted file mode 100644 index cb8b361..0000000 --- a/binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s +++ /dev/null @@ -1,206 +0,0 @@ - ! Force .got aligned to 4K, so it very likely gets at 0x413000 - .data - .balign 4096 - .section ".tdata", "awT", @progbits - .globl sg1, sg2 - .globl sh1, sh2 - .hidden sh1, sh2 -sg1: .long 17 -sg2: .long 18 -sl1: .long 65 -sl2: .long 66 -sh1: .long 257 -sh2: .long 258 - ! Force .text aligned to 4K, so it very likely gets at 0x401000. - .text - .balign 4096 - .globl fn2 - .type fn2,@function -fn2: - mov.l r12,@-r15 - mov.l r14,@-r15 - sts.l pr,@-r15 - mova .L3,r0 - mov.l .L3,r12 - add r0,r12 - mov r15,r14 - nop;nop;nop;nop - - ! GD -> IE because variable is not defined in executable - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sG1@TLSGD -2: .long __tls_get_addr@PLT -3: - nop;nop;nop;nop - - ! GD -> IE because variable is not defined in executable where - ! the variable is referenced through @gottpoff too - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sG2@TLSGD -2: .long __tls_get_addr@PLT -3: - nop;nop;nop;nop - - ! GD -> LE with global variable defined in executable - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sg1@TLSGD -2: .long __tls_get_addr@PLT -3: - nop;nop;nop;nop - - ! GD -> LE with local variable defined in executable - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sl1@TLSGD -2: .long __tls_get_addr@PLT -3: - nop;nop;nop;nop - - ! GD -> LE with hidden variable defined in executable - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sh1@TLSGD -2: .long __tls_get_addr@PLT -3: - nop;nop;nop;nop - - ! LD -> LE with local variable defined in executable - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sl1@TLSLDM -2: .long __tls_get_addr@PLT -3: - nop;nop - mov.l .L4,r1 - add r0,r1 - nop;nop - mov.l .L5,r2 - add r0,r2 - nop;nop;nop;nop - - ! LD -> LE against hidden variables - mov.l 1f,r4 - mova 2f,r0 - mov.l 2f,r1 - add r0,r1 - jsr @r1 - add r12,r4 - bra 3f - nop - .align 2 -1: .long sh1@TLSLDM -2: .long __tls_get_addr@PLT -3: - nop;nop - mov.l .L6,r1 - add r0,r1 - nop;nop - mov.l .L7,r2 - add r0,r2 - 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 sG2@GOTTPOFF -2: - nop;nop;nop;nop - - ! @GOTTPOFF IE against global var - mov.l 1f,r0 - stc gbr,r1 - mov.l @(r0,r12),r0 - bra 2f - add r1,r0 - .align 2 -1: .long sG4@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 sg1@GOTTPOFF -2: - nop;nop;nop;nop - - ! @GOTTPOFF IE -> LE against hidden var - mov.l 1f,r0 - stc gbr,r1 - mov.l @(r0,r12),r0 - bra 2f - add r0,r1 - .align 2 -1: .long sh1@GOTTPOFF -2: - nop;nop;nop;nop - - mov r14,r15 - lds.l @r15+,pr - mov.l @r15+,r14 - rts - mov.l @r15+,r12 - - .align 2 -.L3: .long _GLOBAL_OFFSET_TABLE_ -.L4: .long sl1@DTPOFF -.L5: .long sl2@DTPOFF -.L6: .long sh1@DTPOFF -.L7: .long sh2@DTPOFF - ! Fill page with 0. - .space .L8-. - .balign 4096 -.L8: |