summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s')
-rw-r--r--binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s58
1 files changed, 58 insertions, 0 deletions
diff --git a/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s b/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s
new file mode 100644
index 00000000..c0d4633e
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-mips-elf/got-page-3a.s
@@ -0,0 +1,58 @@
+ .macro makeref,sym
+ lw $5,%got(\sym\@)($gp)
+ .endm
+
+ .globl f1
+ .ent f1
+f1:
+ # See below.
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 2 pages
+ lw $4,%got(foo-0x8000)($gp)
+ addiu $4,$4,%lo(foo-0x8000)
+ lw $4,%got(foo+0x800)($gp)
+ addiu $4,$4,%lo(foo+0x8000)
+
+ # 2 pages
+ lw $4,%got(foo-0x1000000)($gp)
+ addiu $4,$4,%lo(foo-0x1000000)
+ lw $4,%got(foo-0xffffff)($gp)
+ addiu $4,$4,%lo(foo-0xffffff)
+
+ # 1 page
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 5 pages
+ lw $4,%got(bar)($gp)
+ addiu $4,$4,%lo(bar)
+ lw $4,%got(bar+0x20000)($gp)
+ addiu $4,$4,%lo(bar+0x20000)
+ lw $4,%got(bar+0x40000)($gp)
+ addiu $4,$4,%lo(bar+0x40000)
+ lw $4,%got(bar+0x30000)($gp)
+ addiu $4,$4,%lo(bar+0x30000)
+ lw $4,%got(bar+0x10000)($gp)
+ addiu $4,$4,%lo(bar+0x10000)
+ lw $4,%got(bar+0x38000)($gp)
+ addiu $4,$4,%lo(bar+0x38000)
+ lw $4,%got(bar+0x14000)($gp)
+ addiu $4,$4,%lo(bar+0x14000)
+ lw $4,%got(bar+0x2c000)($gp)
+ addiu $4,$4,%lo(bar+0x2c000)
+ lw $4,%got(bar+0x02000)($gp)
+ addiu $4,$4,%lo(bar+0x02000)
+ .end f1
+
+ .rept 8000
+ makeref foo
+ .endr
+
+ .section .bss.foo,"aw",@nobits
+ .fill 0x800000
+foo: .fill 0x800000
+
+ .section .bss.bar,"aw",@nobits
+bar: .fill 0xc00000