summaryrefslogtreecommitdiffstats
path: root/binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s')
-rw-r--r--binutils-2.21/ld/testsuite/ld-sh/tlsbinpic.s206
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: