summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/ld/testsuite/ld-sparc/gotop32.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/ld/testsuite/ld-sparc/gotop32.s')
-rw-r--r--binutils-2.25/ld/testsuite/ld-sparc/gotop32.s37
1 files changed, 37 insertions, 0 deletions
diff --git a/binutils-2.25/ld/testsuite/ld-sparc/gotop32.s b/binutils-2.25/ld/testsuite/ld-sparc/gotop32.s
new file mode 100644
index 00000000..604694c6
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-sparc/gotop32.s
@@ -0,0 +1,37 @@
+ .data
+ .align 4096
+ .globl sym
+sym: .word 0x12345678
+
+local_sym:
+ .word 0xdeadbeef
+
+ .text
+ .align 4096
+.LLGETPC0:
+ retl
+ add %o7, %l7, %l7
+
+ .globl foo
+ .type foo,#function
+ .proc 04
+foo:
+ save %sp, -104, %sp
+ sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7
+ call .LLGETPC0
+ add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
+ nop
+ sethi %gdop_hix22(sym), %l1
+ nop
+ xor %l1, %gdop_lox10(sym), %l1
+ nop
+ ld [%l7 + %l1], %i0, %gdop(sym)
+ nop
+ sethi %gdop_hix22(local_sym), %l1
+ nop
+ xor %l1, %gdop_lox10(local_sym), %l1
+ nop
+ ld [%l7 + %l1], %i0, %gdop(local_sym)
+ nop
+ ret
+ restore