aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-04-11 01:56:51 +0000
committerAlexandre Oliva <aoliva@redhat.com>2003-04-11 01:56:51 +0000
commit7d6c7577027074ed34f66ea2bb05bfd0ea9a5ae4 (patch)
treeaf8abae7256b040c4dd88fb8ae441f74b0fe5805
parentf5040a92c5b78b41f33dc3488dc1820bc5f916a8 (diff)
downloadgdb-7d6c7577027074ed34f66ea2bb05bfd0ea9a5ae4.zip
gdb-7d6c7577027074ed34f66ea2bb05bfd0ea9a5ae4.tar.gz
gdb-7d6c7577027074ed34f66ea2bb05bfd0ea9a5ae4.tar.bz2
* ld-mips-elf/elf-rel-got-n32.d,
ld-mips-elf/elf-rel-got-n64.d, ld-mips-elf/elf-rel-xgot-n32.d, ld-mips-elf/elf-rel-xgot-n64.d: New. * ld-mips-elf/mips-elf.exp (hasn32): Define as condition for new tests to run.
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-got-n32.d313
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-got-n64.d331
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d427
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d435
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp16
6 files changed, 1526 insertions, 4 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index a3877de..1b0df05 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2003-04-10 Alexandre Oliva <aoliva@redhat.com>
+
+ * ld-mips-elf/elf-rel-got-n32.d,
+ ld-mips-elf/elf-rel-got-n64.d, ld-mips-elf/elf-rel-xgot-n32.d,
+ ld-mips-elf/elf-rel-xgot-n64.d: New.
+ * ld-mips-elf/mips-elf.exp (hasn32): Define as condition for
+ new tests to run.
+
2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
* ld-m68hc11/bug-1417.d: Update to take into account jsr->bsr relax.
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d b/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
new file mode 100644
index 0000000..89f9a1b
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
@@ -0,0 +1,313 @@
+#name: MIPS ELF got reloc n32
+#as: -n32 -KPIC
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#ld: -melf32btsmipn32
+#objdump: -D --show-raw-insn
+
+.*: +file format elf32-n.*mips.*
+
+Disassembly of section \.text:
+
+100000a0 <fn>:
+100000a0: 8f858064 lw a1,-32668\(gp\)
+100000a4: 8f858064 lw a1,-32668\(gp\)
+100000a8: 20a5000c addi a1,a1,12
+100000ac: 8f858064 lw a1,-32668\(gp\)
+100000b0: 3c010002 lui at,0x2
+100000b4: 2021e240 addi at,at,-7616
+100000b8: 00a12820 add a1,a1,at
+100000bc: 8f858064 lw a1,-32668\(gp\)
+100000c0: 00b12820 add a1,a1,s1
+100000c4: 8f858064 lw a1,-32668\(gp\)
+100000c8: 20a5000c addi a1,a1,12
+100000cc: 00b12820 add a1,a1,s1
+100000d0: 8f858064 lw a1,-32668\(gp\)
+100000d4: 3c010002 lui at,0x2
+100000d8: 2021e240 addi at,at,-7616
+100000dc: 00a12820 add a1,a1,at
+100000e0: 00b12820 add a1,a1,s1
+100000e4: 8f858064 lw a1,-32668\(gp\)
+100000e8: 8ca50000 lw a1,0\(a1\)
+100000ec: 8f858064 lw a1,-32668\(gp\)
+100000f0: 8ca5000c lw a1,12\(a1\)
+100000f4: 8f858064 lw a1,-32668\(gp\)
+100000f8: 00b12820 add a1,a1,s1
+100000fc: 8ca50000 lw a1,0\(a1\)
+10000100: 8f858064 lw a1,-32668\(gp\)
+10000104: 00b12820 add a1,a1,s1
+10000108: 8ca5000c lw a1,12\(a1\)
+1000010c: 8f818064 lw at,-32668\(gp\)
+10000110: 00250820 add at,at,a1
+10000114: 8c250022 lw a1,34\(at\)
+10000118: 8f818064 lw at,-32668\(gp\)
+1000011c: 00250820 add at,at,a1
+10000120: ac250038 sw a1,56\(at\)
+10000124: 8f818064 lw at,-32668\(gp\)
+10000128: 88250000 lwl a1,0\(at\)
+1000012c: 98250003 lwr a1,3\(at\)
+10000130: 8f818064 lw at,-32668\(gp\)
+10000134: 2021000c addi at,at,12
+10000138: 88250000 lwl a1,0\(at\)
+1000013c: 98250003 lwr a1,3\(at\)
+10000140: 8f818064 lw at,-32668\(gp\)
+10000144: 00310820 add at,at,s1
+10000148: 88250000 lwl a1,0\(at\)
+1000014c: 98250003 lwr a1,3\(at\)
+10000150: 8f818064 lw at,-32668\(gp\)
+10000154: 2021000c addi at,at,12
+10000158: 00310820 add at,at,s1
+1000015c: 88250000 lwl a1,0\(at\)
+10000160: 98250003 lwr a1,3\(at\)
+10000164: 8f818064 lw at,-32668\(gp\)
+10000168: 20210022 addi at,at,34
+1000016c: 00250820 add at,at,a1
+10000170: 88250000 lwl a1,0\(at\)
+10000174: 98250003 lwr a1,3\(at\)
+10000178: 8f818064 lw at,-32668\(gp\)
+1000017c: 20210038 addi at,at,56
+10000180: 00250820 add at,at,a1
+10000184: a8250000 swl a1,0\(at\)
+10000188: b8250003 swr a1,3\(at\)
+1000018c: 8f858018 lw a1,-32744\(gp\)
+10000190: 8f85801c lw a1,-32740\(gp\)
+10000194: 8f858020 lw a1,-32736\(gp\)
+10000198: 8f858018 lw a1,-32744\(gp\)
+1000019c: 00b12820 add a1,a1,s1
+100001a0: 8f85801c lw a1,-32740\(gp\)
+100001a4: 00b12820 add a1,a1,s1
+100001a8: 8f858020 lw a1,-32736\(gp\)
+100001ac: 00b12820 add a1,a1,s1
+100001b0: 8f858024 lw a1,-32732\(gp\)
+100001b4: 8ca5050c lw a1,1292\(a1\)
+100001b8: 8f858024 lw a1,-32732\(gp\)
+100001bc: 8ca50518 lw a1,1304\(a1\)
+100001c0: 8f858024 lw a1,-32732\(gp\)
+100001c4: 00b12820 add a1,a1,s1
+100001c8: 8ca5050c lw a1,1292\(a1\)
+100001cc: 8f858024 lw a1,-32732\(gp\)
+100001d0: 00b12820 add a1,a1,s1
+100001d4: 8ca50518 lw a1,1304\(a1\)
+100001d8: 8f818024 lw at,-32732\(gp\)
+100001dc: 00250820 add at,at,a1
+100001e0: 8c25052e lw a1,1326\(at\)
+100001e4: 8f818024 lw at,-32732\(gp\)
+100001e8: 00250820 add at,at,a1
+100001ec: ac250544 sw a1,1348\(at\)
+100001f0: 8f818018 lw at,-32744\(gp\)
+100001f4: 88250000 lwl a1,0\(at\)
+100001f8: 98250003 lwr a1,3\(at\)
+100001fc: 8f81801c lw at,-32740\(gp\)
+10000200: 88250000 lwl a1,0\(at\)
+10000204: 98250003 lwr a1,3\(at\)
+10000208: 8f818018 lw at,-32744\(gp\)
+1000020c: 00310820 add at,at,s1
+10000210: 88250000 lwl a1,0\(at\)
+10000214: 98250003 lwr a1,3\(at\)
+10000218: 8f81801c lw at,-32740\(gp\)
+1000021c: 00310820 add at,at,s1
+10000220: 88250000 lwl a1,0\(at\)
+10000224: 98250003 lwr a1,3\(at\)
+10000228: 8f818028 lw at,-32728\(gp\)
+1000022c: 00250820 add at,at,a1
+10000230: 88250000 lwl a1,0\(at\)
+10000234: 98250003 lwr a1,3\(at\)
+10000238: 8f81802c lw at,-32724\(gp\)
+1000023c: 00250820 add at,at,a1
+10000240: a8250000 swl a1,0\(at\)
+10000244: b8250003 swr a1,3\(at\)
+10000248: 8f85805c lw a1,-32676\(gp\)
+1000024c: 8f858030 lw a1,-32720\(gp\)
+10000250: 8f99805c lw t9,-32676\(gp\)
+10000254: 8f998030 lw t9,-32720\(gp\)
+10000258: 8f99805c lw t9,-32676\(gp\)
+1000025c: 0320f809 jalr t9
+10000260: 00000000 nop
+10000264: 8f998030 lw t9,-32720\(gp\)
+10000268: 0320f809 jalr t9
+1000026c: 00000000 nop
+10000270: 8f858068 lw a1,-32664\(gp\)
+10000274: 8f858068 lw a1,-32664\(gp\)
+10000278: 20a5000c addi a1,a1,12
+1000027c: 8f858068 lw a1,-32664\(gp\)
+10000280: 3c010002 lui at,0x2
+10000284: 2021e240 addi at,at,-7616
+10000288: 00a12820 add a1,a1,at
+1000028c: 8f858068 lw a1,-32664\(gp\)
+10000290: 00b12820 add a1,a1,s1
+10000294: 8f858068 lw a1,-32664\(gp\)
+10000298: 20a5000c addi a1,a1,12
+1000029c: 00b12820 add a1,a1,s1
+100002a0: 8f858068 lw a1,-32664\(gp\)
+100002a4: 3c010002 lui at,0x2
+100002a8: 2021e240 addi at,at,-7616
+100002ac: 00a12820 add a1,a1,at
+100002b0: 00b12820 add a1,a1,s1
+100002b4: 8f858068 lw a1,-32664\(gp\)
+100002b8: 8ca50000 lw a1,0\(a1\)
+100002bc: 8f858068 lw a1,-32664\(gp\)
+100002c0: 8ca5000c lw a1,12\(a1\)
+100002c4: 8f858068 lw a1,-32664\(gp\)
+100002c8: 00b12820 add a1,a1,s1
+100002cc: 8ca50000 lw a1,0\(a1\)
+100002d0: 8f858068 lw a1,-32664\(gp\)
+100002d4: 00b12820 add a1,a1,s1
+100002d8: 8ca5000c lw a1,12\(a1\)
+100002dc: 8f818068 lw at,-32664\(gp\)
+100002e0: 00250820 add at,at,a1
+100002e4: 8c250022 lw a1,34\(at\)
+100002e8: 8f818068 lw at,-32664\(gp\)
+100002ec: 00250820 add at,at,a1
+100002f0: ac250038 sw a1,56\(at\)
+100002f4: 8f818068 lw at,-32664\(gp\)
+100002f8: 88250000 lwl a1,0\(at\)
+100002fc: 98250003 lwr a1,3\(at\)
+10000300: 8f818068 lw at,-32664\(gp\)
+10000304: 2021000c addi at,at,12
+10000308: 88250000 lwl a1,0\(at\)
+1000030c: 98250003 lwr a1,3\(at\)
+10000310: 8f818068 lw at,-32664\(gp\)
+10000314: 00310820 add at,at,s1
+10000318: 88250000 lwl a1,0\(at\)
+1000031c: 98250003 lwr a1,3\(at\)
+10000320: 8f818068 lw at,-32664\(gp\)
+10000324: 2021000c addi at,at,12
+10000328: 00310820 add at,at,s1
+1000032c: 88250000 lwl a1,0\(at\)
+10000330: 98250003 lwr a1,3\(at\)
+10000334: 8f818068 lw at,-32664\(gp\)
+10000338: 20210022 addi at,at,34
+1000033c: 00250820 add at,at,a1
+10000340: 88250000 lwl a1,0\(at\)
+10000344: 98250003 lwr a1,3\(at\)
+10000348: 8f818068 lw at,-32664\(gp\)
+1000034c: 20210038 addi at,at,56
+10000350: 00250820 add at,at,a1
+10000354: a8250000 swl a1,0\(at\)
+10000358: b8250003 swr a1,3\(at\)
+1000035c: 8f858034 lw a1,-32716\(gp\)
+10000360: 8f858038 lw a1,-32712\(gp\)
+10000364: 8f85803c lw a1,-32708\(gp\)
+10000368: 8f858034 lw a1,-32716\(gp\)
+1000036c: 00b12820 add a1,a1,s1
+10000370: 8f858038 lw a1,-32712\(gp\)
+10000374: 00b12820 add a1,a1,s1
+10000378: 8f85803c lw a1,-32708\(gp\)
+1000037c: 00b12820 add a1,a1,s1
+10000380: 8f858024 lw a1,-32732\(gp\)
+10000384: 8ca50584 lw a1,1412\(a1\)
+10000388: 8f858024 lw a1,-32732\(gp\)
+1000038c: 8ca50590 lw a1,1424\(a1\)
+10000390: 8f858024 lw a1,-32732\(gp\)
+10000394: 00b12820 add a1,a1,s1
+10000398: 8ca50584 lw a1,1412\(a1\)
+1000039c: 8f858024 lw a1,-32732\(gp\)
+100003a0: 00b12820 add a1,a1,s1
+100003a4: 8ca50590 lw a1,1424\(a1\)
+100003a8: 8f818024 lw at,-32732\(gp\)
+100003ac: 00250820 add at,at,a1
+100003b0: 8c2505a6 lw a1,1446\(at\)
+100003b4: 8f818024 lw at,-32732\(gp\)
+100003b8: 00250820 add at,at,a1
+100003bc: ac2505bc sw a1,1468\(at\)
+100003c0: 8f818034 lw at,-32716\(gp\)
+100003c4: 88250000 lwl a1,0\(at\)
+100003c8: 98250003 lwr a1,3\(at\)
+100003cc: 8f818038 lw at,-32712\(gp\)
+100003d0: 88250000 lwl a1,0\(at\)
+100003d4: 98250003 lwr a1,3\(at\)
+100003d8: 8f818034 lw at,-32716\(gp\)
+100003dc: 00310820 add at,at,s1
+100003e0: 88250000 lwl a1,0\(at\)
+100003e4: 98250003 lwr a1,3\(at\)
+100003e8: 8f818038 lw at,-32712\(gp\)
+100003ec: 00310820 add at,at,s1
+100003f0: 88250000 lwl a1,0\(at\)
+100003f4: 98250003 lwr a1,3\(at\)
+100003f8: 8f818040 lw at,-32704\(gp\)
+100003fc: 00250820 add at,at,a1
+10000400: 88250000 lwl a1,0\(at\)
+10000404: 98250003 lwr a1,3\(at\)
+10000408: 8f818044 lw at,-32700\(gp\)
+1000040c: 00250820 add at,at,a1
+10000410: a8250000 swl a1,0\(at\)
+10000414: b8250003 swr a1,3\(at\)
+10000418: 8f858060 lw a1,-32672\(gp\)
+1000041c: 8f858048 lw a1,-32696\(gp\)
+10000420: 8f998060 lw t9,-32672\(gp\)
+10000424: 8f998048 lw t9,-32696\(gp\)
+10000428: 8f998060 lw t9,-32672\(gp\)
+1000042c: 0320f809 jalr t9
+10000430: 00000000 nop
+10000434: 8f998048 lw t9,-32696\(gp\)
+10000438: 0320f809 jalr t9
+1000043c: 00000000 nop
+10000440: 1000ff17 b 100000a0 <fn>
+10000444: 8f858064 lw a1,-32668\(gp\)
+10000448: 8f858068 lw a1,-32664\(gp\)
+1000044c: 10000015 b 100004a4 <fn2>
+10000450: 8ca50000 lw a1,0\(a1\)
+10000454: 1000ff12 b 100000a0 <fn>
+10000458: 8f858018 lw a1,-32744\(gp\)
+1000045c: 8f858038 lw a1,-32712\(gp\)
+10000460: 10000010 b 100004a4 <fn2>
+10000464: 00000000 nop
+10000468: 8f858020 lw a1,-32736\(gp\)
+1000046c: 1000ff0c b 100000a0 <fn>
+10000470: 00000000 nop
+10000474: 8f858024 lw a1,-32732\(gp\)
+10000478: 1000000a b 100004a4 <fn2>
+1000047c: 8ca50584 lw a1,1412\(a1\)
+10000480: 8f858024 lw a1,-32732\(gp\)
+10000484: 1000ff06 b 100000a0 <fn>
+10000488: 8ca50518 lw a1,1304\(a1\)
+1000048c: 8f818024 lw at,-32732\(gp\)
+10000490: 00250820 add at,at,a1
+10000494: 10000003 b 100004a4 <fn2>
+10000498: 8c2505a6 lw a1,1446\(at\)
+ \.\.\.
+
+100004a4 <fn2>:
+ \.\.\.
+Disassembly of section \.reginfo:
+
+100004b0 <\.reginfo>:
+100004b0: 92020022 .*
+ \.\.\.
+100004c4: 101085b0 .*
+Disassembly of section \.data:
+
+101004d0 <_fdata>:
+ \.\.\.
+
+1010050c <dg1>:
+ \.\.\.
+
+10100548 <sp2>:
+ \.\.\.
+
+10100584 <dg2>:
+ \.\.\.
+Disassembly of section \.got:
+
+101005c0 <_GLOBAL_OFFSET_TABLE_>:
+101005c0: 00000000 .*
+101005c4: 80000000 .*
+101005c8: 1010050c .*
+101005cc: 10100518 .*
+101005d0: 1011e74c .*
+101005d4: 10100000 .*
+101005d8: 1010052e .*
+101005dc: 10100544 .*
+101005e0: 100000a0 .*
+101005e4: 10100584 .*
+101005e8: 10100590 .*
+101005ec: 1011e7c4 .*
+101005f0: 101005a6 .*
+101005f4: 101005bc .*
+101005f8: 100004a4 .*
+101005fc: 00000000 .*
+ \.\.\.
+1010060c: 100000a0 .*
+10100610: 100004a4 .*
+10100614: 1010050c .*
+10100618: 10100584 .*
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d b/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
new file mode 100644
index 0000000..050ab89
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/elf-rel-got-n64.d
@@ -0,0 +1,331 @@
+#name: MIPS ELF got reloc n64
+#as: -64 -KPIC
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#ld: -melf64btsmip
+#objdump: -D --show-raw-insn
+
+.*: +file format elf64-.*mips.*
+
+Disassembly of section \.MIPS\.options:
+
+00000000100000b0 <\.MIPS\.options>:
+ 100000b0: 01280000 .*
+ 100000b4: 00000000 .*
+ 100000b8: 92020022 .*
+ \.\.\.
+ 100000d4: 101085d0 .*
+Disassembly of section \.text:
+
+00000000100000e0 <fn>:
+ 100000e0: df8580b8 ld a1,-32584\(gp\)
+ 100000e4: df8580b8 ld a1,-32584\(gp\)
+ 100000e8: 64a5000c daddiu a1,a1,12
+ 100000ec: df8580b8 ld a1,-32584\(gp\)
+ 100000f0: 3c010002 lui at,0x2
+ 100000f4: 6421e240 daddiu at,at,-7616
+ 100000f8: 00a1282d daddu a1,a1,at
+ 100000fc: df8580b8 ld a1,-32584\(gp\)
+ 10000100: 00b1282d daddu a1,a1,s1
+ 10000104: df8580b8 ld a1,-32584\(gp\)
+ 10000108: 64a5000c daddiu a1,a1,12
+ 1000010c: 00b1282d daddu a1,a1,s1
+ 10000110: df8580b8 ld a1,-32584\(gp\)
+ 10000114: 3c010002 lui at,0x2
+ 10000118: 6421e240 daddiu at,at,-7616
+ 1000011c: 00a1282d daddu a1,a1,at
+ 10000120: 00b1282d daddu a1,a1,s1
+ 10000124: df8580b8 ld a1,-32584\(gp\)
+ 10000128: dca50000 ld a1,0\(a1\)
+ 1000012c: df8580b8 ld a1,-32584\(gp\)
+ 10000130: dca5000c ld a1,12\(a1\)
+ 10000134: df8580b8 ld a1,-32584\(gp\)
+ 10000138: 00b1282d daddu a1,a1,s1
+ 1000013c: dca50000 ld a1,0\(a1\)
+ 10000140: df8580b8 ld a1,-32584\(gp\)
+ 10000144: 00b1282d daddu a1,a1,s1
+ 10000148: dca5000c ld a1,12\(a1\)
+ 1000014c: df8180b8 ld at,-32584\(gp\)
+ 10000150: 0025082d daddu at,at,a1
+ 10000154: dc250022 ld a1,34\(at\)
+ 10000158: df8180b8 ld at,-32584\(gp\)
+ 1000015c: 0025082d daddu at,at,a1
+ 10000160: fc250038 sd a1,56\(at\)
+ 10000164: df8180b8 ld at,-32584\(gp\)
+ 10000168: 88250000 lwl a1,0\(at\)
+ 1000016c: 98250003 lwr a1,3\(at\)
+ 10000170: df8180b8 ld at,-32584\(gp\)
+ 10000174: 6421000c daddiu at,at,12
+ 10000178: 88250000 lwl a1,0\(at\)
+ 1000017c: 98250003 lwr a1,3\(at\)
+ 10000180: df8180b8 ld at,-32584\(gp\)
+ 10000184: 0031082d daddu at,at,s1
+ 10000188: 88250000 lwl a1,0\(at\)
+ 1000018c: 98250003 lwr a1,3\(at\)
+ 10000190: df8180b8 ld at,-32584\(gp\)
+ 10000194: 6421000c daddiu at,at,12
+ 10000198: 0031082d daddu at,at,s1
+ 1000019c: 88250000 lwl a1,0\(at\)
+ 100001a0: 98250003 lwr a1,3\(at\)
+ 100001a4: df8180b8 ld at,-32584\(gp\)
+ 100001a8: 64210022 daddiu at,at,34
+ 100001ac: 0025082d daddu at,at,a1
+ 100001b0: 88250000 lwl a1,0\(at\)
+ 100001b4: 98250003 lwr a1,3\(at\)
+ 100001b8: df8180b8 ld at,-32584\(gp\)
+ 100001bc: 64210038 daddiu at,at,56
+ 100001c0: 0025082d daddu at,at,a1
+ 100001c4: a8250000 swl a1,0\(at\)
+ 100001c8: b8250003 swr a1,3\(at\)
+ 100001cc: df858020 ld a1,-32736\(gp\)
+ 100001d0: df858028 ld a1,-32728\(gp\)
+ 100001d4: df858030 ld a1,-32720\(gp\)
+ 100001d8: df858020 ld a1,-32736\(gp\)
+ 100001dc: 00b1282d daddu a1,a1,s1
+ 100001e0: df858028 ld a1,-32728\(gp\)
+ 100001e4: 00b1282d daddu a1,a1,s1
+ 100001e8: df858030 ld a1,-32720\(gp\)
+ 100001ec: 00b1282d daddu a1,a1,s1
+ 100001f0: df858038 ld a1,-32712\(gp\)
+ 100001f4: dca5052c ld a1,1324\(a1\)
+ 100001f8: df858038 ld a1,-32712\(gp\)
+ 100001fc: dca50538 ld a1,1336\(a1\)
+ 10000200: df858038 ld a1,-32712\(gp\)
+ 10000204: 00b1282d daddu a1,a1,s1
+ 10000208: dca5052c ld a1,1324\(a1\)
+ 1000020c: df858038 ld a1,-32712\(gp\)
+ 10000210: 00b1282d daddu a1,a1,s1
+ 10000214: dca50538 ld a1,1336\(a1\)
+ 10000218: df818038 ld at,-32712\(gp\)
+ 1000021c: 0025082d daddu at,at,a1
+ 10000220: dc25054e ld a1,1358\(at\)
+ 10000224: df818038 ld at,-32712\(gp\)
+ 10000228: 0025082d daddu at,at,a1
+ 1000022c: fc250564 sd a1,1380\(at\)
+ 10000230: df818020 ld at,-32736\(gp\)
+ 10000234: 88250000 lwl a1,0\(at\)
+ 10000238: 98250003 lwr a1,3\(at\)
+ 1000023c: df818028 ld at,-32728\(gp\)
+ 10000240: 88250000 lwl a1,0\(at\)
+ 10000244: 98250003 lwr a1,3\(at\)
+ 10000248: df818020 ld at,-32736\(gp\)
+ 1000024c: 0031082d daddu at,at,s1
+ 10000250: 88250000 lwl a1,0\(at\)
+ 10000254: 98250003 lwr a1,3\(at\)
+ 10000258: df818028 ld at,-32728\(gp\)
+ 1000025c: 0031082d daddu at,at,s1
+ 10000260: 88250000 lwl a1,0\(at\)
+ 10000264: 98250003 lwr a1,3\(at\)
+ 10000268: df818040 ld at,-32704\(gp\)
+ 1000026c: 0025082d daddu at,at,a1
+ 10000270: 88250000 lwl a1,0\(at\)
+ 10000274: 98250003 lwr a1,3\(at\)
+ 10000278: df818048 ld at,-32696\(gp\)
+ 1000027c: 0025082d daddu at,at,a1
+ 10000280: a8250000 swl a1,0\(at\)
+ 10000284: b8250003 swr a1,3\(at\)
+ 10000288: df8580a8 ld a1,-32600\(gp\)
+ 1000028c: df858050 ld a1,-32688\(gp\)
+ 10000290: df9980a8 ld t9,-32600\(gp\)
+ 10000294: df998050 ld t9,-32688\(gp\)
+ 10000298: df9980a8 ld t9,-32600\(gp\)
+ 1000029c: 0320f809 jalr t9
+ 100002a0: 00000000 nop
+ 100002a4: df998050 ld t9,-32688\(gp\)
+ 100002a8: 0320f809 jalr t9
+ 100002ac: 00000000 nop
+ 100002b0: df8580c0 ld a1,-32576\(gp\)
+ 100002b4: df8580c0 ld a1,-32576\(gp\)
+ 100002b8: 64a5000c daddiu a1,a1,12
+ 100002bc: df8580c0 ld a1,-32576\(gp\)
+ 100002c0: 3c010002 lui at,0x2
+ 100002c4: 6421e240 daddiu at,at,-7616
+ 100002c8: 00a1282d daddu a1,a1,at
+ 100002cc: df8580c0 ld a1,-32576\(gp\)
+ 100002d0: 00b1282d daddu a1,a1,s1
+ 100002d4: df8580c0 ld a1,-32576\(gp\)
+ 100002d8: 64a5000c daddiu a1,a1,12
+ 100002dc: 00b1282d daddu a1,a1,s1
+ 100002e0: df8580c0 ld a1,-32576\(gp\)
+ 100002e4: 3c010002 lui at,0x2
+ 100002e8: 6421e240 daddiu at,at,-7616
+ 100002ec: 00a1282d daddu a1,a1,at
+ 100002f0: 00b1282d daddu a1,a1,s1
+ 100002f4: df8580c0 ld a1,-32576\(gp\)
+ 100002f8: dca50000 ld a1,0\(a1\)
+ 100002fc: df8580c0 ld a1,-32576\(gp\)
+ 10000300: dca5000c ld a1,12\(a1\)
+ 10000304: df8580c0 ld a1,-32576\(gp\)
+ 10000308: 00b1282d daddu a1,a1,s1
+ 1000030c: dca50000 ld a1,0\(a1\)
+ 10000310: df8580c0 ld a1,-32576\(gp\)
+ 10000314: 00b1282d daddu a1,a1,s1
+ 10000318: dca5000c ld a1,12\(a1\)
+ 1000031c: df8180c0 ld at,-32576\(gp\)
+ 10000320: 0025082d daddu at,at,a1
+ 10000324: dc250022 ld a1,34\(at\)
+ 10000328: df8180c0 ld at,-32576\(gp\)
+ 1000032c: 0025082d daddu at,at,a1
+ 10000330: fc250038 sd a1,56\(at\)
+ 10000334: df8180c0 ld at,-32576\(gp\)
+ 10000338: 88250000 lwl a1,0\(at\)
+ 1000033c: 98250003 lwr a1,3\(at\)
+ 10000340: df8180c0 ld at,-32576\(gp\)
+ 10000344: 6421000c daddiu at,at,12
+ 10000348: 88250000 lwl a1,0\(at\)
+ 1000034c: 98250003 lwr a1,3\(at\)
+ 10000350: df8180c0 ld at,-32576\(gp\)
+ 10000354: 0031082d daddu at,at,s1
+ 10000358: 88250000 lwl a1,0\(at\)
+ 1000035c: 98250003 lwr a1,3\(at\)
+ 10000360: df8180c0 ld at,-32576\(gp\)
+ 10000364: 6421000c daddiu at,at,12
+ 10000368: 0031082d daddu at,at,s1
+ 1000036c: 88250000 lwl a1,0\(at\)
+ 10000370: 98250003 lwr a1,3\(at\)
+ 10000374: df8180c0 ld at,-32576\(gp\)
+ 10000378: 64210022 daddiu at,at,34
+ 1000037c: 0025082d daddu at,at,a1
+ 10000380: 88250000 lwl a1,0\(at\)
+ 10000384: 98250003 lwr a1,3\(at\)
+ 10000388: df8180c0 ld at,-32576\(gp\)
+ 1000038c: 64210038 daddiu at,at,56
+ 10000390: 0025082d daddu at,at,a1
+ 10000394: a8250000 swl a1,0\(at\)
+ 10000398: b8250003 swr a1,3\(at\)
+ 1000039c: df858058 ld a1,-32680\(gp\)
+ 100003a0: df858060 ld a1,-32672\(gp\)
+ 100003a4: df858068 ld a1,-32664\(gp\)
+ 100003a8: df858058 ld a1,-32680\(gp\)
+ 100003ac: 00b1282d daddu a1,a1,s1
+ 100003b0: df858060 ld a1,-32672\(gp\)
+ 100003b4: 00b1282d daddu a1,a1,s1
+ 100003b8: df858068 ld a1,-32664\(gp\)
+ 100003bc: 00b1282d daddu a1,a1,s1
+ 100003c0: df858038 ld a1,-32712\(gp\)
+ 100003c4: dca505a4 ld a1,1444\(a1\)
+ 100003c8: df858038 ld a1,-32712\(gp\)
+ 100003cc: dca505b0 ld a1,1456\(a1\)
+ 100003d0: df858038 ld a1,-32712\(gp\)
+ 100003d4: 00b1282d daddu a1,a1,s1
+ 100003d8: dca505a4 ld a1,1444\(a1\)
+ 100003dc: df858038 ld a1,-32712\(gp\)
+ 100003e0: 00b1282d daddu a1,a1,s1
+ 100003e4: dca505b0 ld a1,1456\(a1\)
+ 100003e8: df818038 ld at,-32712\(gp\)
+ 100003ec: 0025082d daddu at,at,a1
+ 100003f0: dc2505c6 ld a1,1478\(at\)
+ 100003f4: df818038 ld at,-32712\(gp\)
+ 100003f8: 0025082d daddu at,at,a1
+ 100003fc: fc2505dc sd a1,1500\(at\)
+ 10000400: df818058 ld at,-32680\(gp\)
+ 10000404: 88250000 lwl a1,0\(at\)
+ 10000408: 98250003 lwr a1,3\(at\)
+ 1000040c: df818060 ld at,-32672\(gp\)
+ 10000410: 88250000 lwl a1,0\(at\)
+ 10000414: 98250003 lwr a1,3\(at\)
+ 10000418: df818058 ld at,-32680\(gp\)
+ 1000041c: 0031082d daddu at,at,s1
+ 10000420: 88250000 lwl a1,0\(at\)
+ 10000424: 98250003 lwr a1,3\(at\)
+ 10000428: df818060 ld at,-32672\(gp\)
+ 1000042c: 0031082d daddu at,at,s1
+ 10000430: 88250000 lwl a1,0\(at\)
+ 10000434: 98250003 lwr a1,3\(at\)
+ 10000438: df818070 ld at,-32656\(gp\)
+ 1000043c: 0025082d daddu at,at,a1
+ 10000440: 88250000 lwl a1,0\(at\)
+ 10000444: 98250003 lwr a1,3\(at\)
+ 10000448: df818078 ld at,-32648\(gp\)
+ 1000044c: 0025082d daddu at,at,a1
+ 10000450: a8250000 swl a1,0\(at\)
+ 10000454: b8250003 swr a1,3\(at\)
+ 10000458: df8580b0 ld a1,-32592\(gp\)
+ 1000045c: df858080 ld a1,-32640\(gp\)
+ 10000460: df9980b0 ld t9,-32592\(gp\)
+ 10000464: df998080 ld t9,-32640\(gp\)
+ 10000468: df9980b0 ld t9,-32592\(gp\)
+ 1000046c: 0320f809 jalr t9
+ 10000470: 00000000 nop
+ 10000474: df998080 ld t9,-32640\(gp\)
+ 10000478: 0320f809 jalr t9
+ 1000047c: 00000000 nop
+ 10000480: 1000ff17 b 100000e0 <fn>
+ 10000484: df8580b8 ld a1,-32584\(gp\)
+ 10000488: df8580c0 ld a1,-32576\(gp\)
+ 1000048c: 10000015 b 100004e4 <fn2>
+ 10000490: dca50000 ld a1,0\(a1\)
+ 10000494: 1000ff12 b 100000e0 <fn>
+ 10000498: df858020 ld a1,-32736\(gp\)
+ 1000049c: df858060 ld a1,-32672\(gp\)
+ 100004a0: 10000010 b 100004e4 <fn2>
+ 100004a4: 00000000 nop
+ 100004a8: df858030 ld a1,-32720\(gp\)
+ 100004ac: 1000ff0c b 100000e0 <fn>
+ 100004b0: 00000000 nop
+ 100004b4: df858038 ld a1,-32712\(gp\)
+ 100004b8: 1000000a b 100004e4 <fn2>
+ 100004bc: dca505a4 ld a1,1444\(a1\)
+ 100004c0: df858038 ld a1,-32712\(gp\)
+ 100004c4: 1000ff06 b 100000e0 <fn>
+ 100004c8: dca50538 ld a1,1336\(a1\)
+ 100004cc: df818038 ld at,-32712\(gp\)
+ 100004d0: 0025082d daddu at,at,a1
+ 100004d4: 10000003 b 100004e4 <fn2>
+ 100004d8: dc2505c6 ld a1,1478\(at\)
+ \.\.\.
+
+00000000100004e4 <fn2>:
+ \.\.\.
+Disassembly of section \.data:
+
+00000000101004f0 <_fdata>:
+ \.\.\.
+
+000000001010052c <dg1>:
+ \.\.\.
+
+0000000010100568 <sp2>:
+ \.\.\.
+
+00000000101005a4 <dg2>:
+ \.\.\.
+Disassembly of section \.got:
+
+00000000101005e0 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 101005ec: 80000000 .*
+ 101005f0: 00000000 .*
+ 101005f4: 1010052c .*
+ 101005f8: 00000000 .*
+ 101005fc: 10100538 .*
+ 10100600: 00000000 .*
+ 10100604: 1011e76c .*
+ 10100608: 00000000 .*
+ 1010060c: 10100000 .*
+ 10100610: 00000000 .*
+ 10100614: 1010054e .*
+ 10100618: 00000000 .*
+ 1010061c: 10100564 .*
+ 10100620: 00000000 .*
+ 10100624: 100000e0 .*
+ 10100628: 00000000 .*
+ 1010062c: 101005a4 .*
+ 10100630: 00000000 .*
+ 10100634: 101005b0 .*
+ 10100638: 00000000 .*
+ 1010063c: 1011e7e4 .*
+ 10100640: 00000000 .*
+ 10100644: 101005c6 .*
+ 10100648: 00000000 .*
+ 1010064c: 101005dc .*
+ 10100650: 00000000 .*
+ 10100654: 100004e4 .*
+ 10100658: 00000000 .*
+ \.\.\.
+ 1010067c: 100000e0 .*
+ 10100680: 00000000 .*
+ 10100684: 100004e4 .*
+ 10100688: 00000000 .*
+ 1010068c: 1010052c .*
+ 10100690: 00000000 .*
+ 10100694: 101005a4 .*
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
new file mode 100644
index 0000000..7b08b41
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
@@ -0,0 +1,427 @@
+#name: MIPS ELF xgot reloc n32
+#as: -n32 -KPIC -xgot
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n32.s
+#ld: -melf32btsmipn32
+#objdump: -D --show-raw-insn
+
+.*: +file format elf32-n.*mips.*
+
+Disassembly of section \.text:
+
+100000a0 <fn>:
+100000a0: 3c050000 lui a1,0x0
+100000a4: 00bc2820 add a1,a1,gp
+100000a8: 8ca58034 lw a1,-32716\(a1\)
+100000ac: 3c050000 lui a1,0x0
+100000b0: 00bc2820 add a1,a1,gp
+100000b4: 8ca58034 lw a1,-32716\(a1\)
+100000b8: 20a5000c addi a1,a1,12
+100000bc: 3c050000 lui a1,0x0
+100000c0: 00bc2820 add a1,a1,gp
+100000c4: 8ca58034 lw a1,-32716\(a1\)
+100000c8: 3c010002 lui at,0x2
+100000cc: 2021e240 addi at,at,-7616
+100000d0: 00a12820 add a1,a1,at
+100000d4: 3c050000 lui a1,0x0
+100000d8: 00bc2820 add a1,a1,gp
+100000dc: 8ca58034 lw a1,-32716\(a1\)
+100000e0: 00b12820 add a1,a1,s1
+100000e4: 3c050000 lui a1,0x0
+100000e8: 00bc2820 add a1,a1,gp
+100000ec: 8ca58034 lw a1,-32716\(a1\)
+100000f0: 20a5000c addi a1,a1,12
+100000f4: 00b12820 add a1,a1,s1
+100000f8: 3c050000 lui a1,0x0
+100000fc: 00bc2820 add a1,a1,gp
+10000100: 8ca58034 lw a1,-32716\(a1\)
+10000104: 3c010002 lui at,0x2
+10000108: 2021e240 addi at,at,-7616
+1000010c: 00a12820 add a1,a1,at
+10000110: 00b12820 add a1,a1,s1
+10000114: 3c050000 lui a1,0x0
+10000118: 00bc2820 add a1,a1,gp
+1000011c: 8ca58034 lw a1,-32716\(a1\)
+10000120: 8ca50000 lw a1,0\(a1\)
+10000124: 3c050000 lui a1,0x0
+10000128: 00bc2820 add a1,a1,gp
+1000012c: 8ca58034 lw a1,-32716\(a1\)
+10000130: 8ca5000c lw a1,12\(a1\)
+10000134: 3c050000 lui a1,0x0
+10000138: 00bc2820 add a1,a1,gp
+1000013c: 8ca58034 lw a1,-32716\(a1\)
+10000140: 00b12820 add a1,a1,s1
+10000144: 8ca50000 lw a1,0\(a1\)
+10000148: 3c050000 lui a1,0x0
+1000014c: 00bc2820 add a1,a1,gp
+10000150: 8ca58034 lw a1,-32716\(a1\)
+10000154: 00b12820 add a1,a1,s1
+10000158: 8ca5000c lw a1,12\(a1\)
+1000015c: 3c010000 lui at,0x0
+10000160: 003c0820 add at,at,gp
+10000164: 8c218034 lw at,-32716\(at\)
+10000168: 00250820 add at,at,a1
+1000016c: 8c250022 lw a1,34\(at\)
+10000170: 3c010000 lui at,0x0
+10000174: 003c0820 add at,at,gp
+10000178: 8c218034 lw at,-32716\(at\)
+1000017c: 00250820 add at,at,a1
+10000180: ac250038 sw a1,56\(at\)
+10000184: 3c010000 lui at,0x0
+10000188: 003c0820 add at,at,gp
+1000018c: 8c218034 lw at,-32716\(at\)
+10000190: 88250000 lwl a1,0\(at\)
+10000194: 98250003 lwr a1,3\(at\)
+10000198: 3c010000 lui at,0x0
+1000019c: 003c0820 add at,at,gp
+100001a0: 8c218034 lw at,-32716\(at\)
+100001a4: 2021000c addi at,at,12
+100001a8: 88250000 lwl a1,0\(at\)
+100001ac: 98250003 lwr a1,3\(at\)
+100001b0: 3c010000 lui at,0x0
+100001b4: 003c0820 add at,at,gp
+100001b8: 8c218034 lw at,-32716\(at\)
+100001bc: 00310820 add at,at,s1
+100001c0: 88250000 lwl a1,0\(at\)
+100001c4: 98250003 lwr a1,3\(at\)
+100001c8: 3c010000 lui at,0x0
+100001cc: 003c0820 add at,at,gp
+100001d0: 8c218034 lw at,-32716\(at\)
+100001d4: 2021000c addi at,at,12
+100001d8: 00310820 add at,at,s1
+100001dc: 88250000 lwl a1,0\(at\)
+100001e0: 98250003 lwr a1,3\(at\)
+100001e4: 3c010000 lui at,0x0
+100001e8: 003c0820 add at,at,gp
+100001ec: 8c218034 lw at,-32716\(at\)
+100001f0: 20210022 addi at,at,34
+100001f4: 00250820 add at,at,a1
+100001f8: 88250000 lwl a1,0\(at\)
+100001fc: 98250003 lwr a1,3\(at\)
+10000200: 3c010000 lui at,0x0
+10000204: 003c0820 add at,at,gp
+10000208: 8c218034 lw at,-32716\(at\)
+1000020c: 20210038 addi at,at,56
+10000210: 00250820 add at,at,a1
+10000214: a8250000 swl a1,0\(at\)
+10000218: b8250003 swr a1,3\(at\)
+1000021c: 8f858018 lw a1,-32744\(gp\)
+10000220: 20a506fc addi a1,a1,1788
+10000224: 8f858018 lw a1,-32744\(gp\)
+10000228: 20a50708 addi a1,a1,1800
+1000022c: 8f85801c lw a1,-32740\(gp\)
+10000230: 20a5e93c addi a1,a1,-5828
+10000234: 8f858018 lw a1,-32744\(gp\)
+10000238: 20a506fc addi a1,a1,1788
+1000023c: 00b12820 add a1,a1,s1
+10000240: 8f858018 lw a1,-32744\(gp\)
+10000244: 20a50708 addi a1,a1,1800
+10000248: 00b12820 add a1,a1,s1
+1000024c: 8f85801c lw a1,-32740\(gp\)
+10000250: 20a5e93c addi a1,a1,-5828
+10000254: 00b12820 add a1,a1,s1
+10000258: 8f858018 lw a1,-32744\(gp\)
+1000025c: 8ca506fc lw a1,1788\(a1\)
+10000260: 8f858018 lw a1,-32744\(gp\)
+10000264: 8ca50708 lw a1,1800\(a1\)
+10000268: 8f858018 lw a1,-32744\(gp\)
+1000026c: 00b12820 add a1,a1,s1
+10000270: 8ca506fc lw a1,1788\(a1\)
+10000274: 8f858018 lw a1,-32744\(gp\)
+10000278: 00b12820 add a1,a1,s1
+1000027c: 8ca50708 lw a1,1800\(a1\)
+10000280: 8f818018 lw at,-32744\(gp\)
+10000284: 00250820 add at,at,a1
+10000288: 8c25071e lw a1,1822\(at\)
+1000028c: 8f818018 lw at,-32744\(gp\)
+10000290: 00250820 add at,at,a1
+10000294: ac250734 sw a1,1844\(at\)
+10000298: 8f818018 lw at,-32744\(gp\)
+1000029c: 202106fc addi at,at,1788
+100002a0: 88250000 lwl a1,0\(at\)
+100002a4: 98250003 lwr a1,3\(at\)
+100002a8: 8f818018 lw at,-32744\(gp\)
+100002ac: 20210708 addi at,at,1800
+100002b0: 88250000 lwl a1,0\(at\)
+100002b4: 98250003 lwr a1,3\(at\)
+100002b8: 8f818018 lw at,-32744\(gp\)
+100002bc: 202106fc addi at,at,1788
+100002c0: 00310820 add at,at,s1
+100002c4: 88250000 lwl a1,0\(at\)
+100002c8: 98250003 lwr a1,3\(at\)
+100002cc: 8f818018 lw at,-32744\(gp\)
+100002d0: 20210708 addi at,at,1800
+100002d4: 00310820 add at,at,s1
+100002d8: 88250000 lwl a1,0\(at\)
+100002dc: 98250003 lwr a1,3\(at\)
+100002e0: 8f818018 lw at,-32744\(gp\)
+100002e4: 2021071e addi at,at,1822
+100002e8: 00250820 add at,at,a1
+100002ec: 88250000 lwl a1,0\(at\)
+100002f0: 98250003 lwr a1,3\(at\)
+100002f4: 8f818018 lw at,-32744\(gp\)
+100002f8: 20210734 addi at,at,1844
+100002fc: 00250820 add at,at,a1
+10000300: a8250000 swl a1,0\(at\)
+10000304: b8250003 swr a1,3\(at\)
+10000308: 3c050000 lui a1,0x0
+1000030c: 00bc2820 add a1,a1,gp
+10000310: 8ca5802c lw a1,-32724\(a1\)
+10000314: 8f858020 lw a1,-32736\(gp\)
+10000318: 20a500a0 addi a1,a1,160
+1000031c: 3c190000 lui t9,0x0
+10000320: 033cc820 add t9,t9,gp
+10000324: 8f39802c lw t9,-32724\(t9\)
+10000328: 8f998020 lw t9,-32736\(gp\)
+1000032c: 233900a0 addi t9,t9,160
+10000330: 3c190000 lui t9,0x0
+10000334: 033cc820 add t9,t9,gp
+10000338: 8f39802c lw t9,-32724\(t9\)
+1000033c: 0320f809 jalr t9
+10000340: 00000000 nop
+10000344: 8f998020 lw t9,-32736\(gp\)
+10000348: 233900a0 addi t9,t9,160
+1000034c: 0320f809 jalr t9
+10000350: 00000000 nop
+10000354: 3c050000 lui a1,0x0
+10000358: 00bc2820 add a1,a1,gp
+1000035c: 8ca58038 lw a1,-32712\(a1\)
+10000360: 3c050000 lui a1,0x0
+10000364: 00bc2820 add a1,a1,gp
+10000368: 8ca58038 lw a1,-32712\(a1\)
+1000036c: 20a5000c addi a1,a1,12
+10000370: 3c050000 lui a1,0x0
+10000374: 00bc2820 add a1,a1,gp
+10000378: 8ca58038 lw a1,-32712\(a1\)
+1000037c: 3c010002 lui at,0x2
+10000380: 2021e240 addi at,at,-7616
+10000384: 00a12820 add a1,a1,at
+10000388: 3c050000 lui a1,0x0
+1000038c: 00bc2820 add a1,a1,gp
+10000390: 8ca58038 lw a1,-32712\(a1\)
+10000394: 00b12820 add a1,a1,s1
+10000398: 3c050000 lui a1,0x0
+1000039c: 00bc2820 add a1,a1,gp
+100003a0: 8ca58038 lw a1,-32712\(a1\)
+100003a4: 20a5000c addi a1,a1,12
+100003a8: 00b12820 add a1,a1,s1
+100003ac: 3c050000 lui a1,0x0
+100003b0: 00bc2820 add a1,a1,gp
+100003b4: 8ca58038 lw a1,-32712\(a1\)
+100003b8: 3c010002 lui at,0x2
+100003bc: 2021e240 addi at,at,-7616
+100003c0: 00a12820 add a1,a1,at
+100003c4: 00b12820 add a1,a1,s1
+100003c8: 3c050000 lui a1,0x0
+100003cc: 00bc2820 add a1,a1,gp
+100003d0: 8ca58038 lw a1,-32712\(a1\)
+100003d4: 8ca50000 lw a1,0\(a1\)
+100003d8: 3c050000 lui a1,0x0
+100003dc: 00bc2820 add a1,a1,gp
+100003e0: 8ca58038 lw a1,-32712\(a1\)
+100003e4: 8ca5000c lw a1,12\(a1\)
+100003e8: 3c050000 lui a1,0x0
+100003ec: 00bc2820 add a1,a1,gp
+100003f0: 8ca58038 lw a1,-32712\(a1\)
+100003f4: 00b12820 add a1,a1,s1
+100003f8: 8ca50000 lw a1,0\(a1\)
+100003fc: 3c050000 lui a1,0x0
+10000400: 00bc2820 add a1,a1,gp
+10000404: 8ca58038 lw a1,-32712\(a1\)
+10000408: 00b12820 add a1,a1,s1
+1000040c: 8ca5000c lw a1,12\(a1\)
+10000410: 3c010000 lui at,0x0
+10000414: 003c0820 add at,at,gp
+10000418: 8c218038 lw at,-32712\(at\)
+1000041c: 00250820 add at,at,a1
+10000420: 8c250022 lw a1,34\(at\)
+10000424: 3c010000 lui at,0x0
+10000428: 003c0820 add at,at,gp
+1000042c: 8c218038 lw at,-32712\(at\)
+10000430: 00250820 add at,at,a1
+10000434: ac250038 sw a1,56\(at\)
+10000438: 3c010000 lui at,0x0
+1000043c: 003c0820 add at,at,gp
+10000440: 8c218038 lw at,-32712\(at\)
+10000444: 88250000 lwl a1,0\(at\)
+10000448: 98250003 lwr a1,3\(at\)
+1000044c: 3c010000 lui at,0x0
+10000450: 003c0820 add at,at,gp
+10000454: 8c218038 lw at,-32712\(at\)
+10000458: 2021000c addi at,at,12
+1000045c: 88250000 lwl a1,0\(at\)
+10000460: 98250003 lwr a1,3\(at\)
+10000464: 3c010000 lui at,0x0
+10000468: 003c0820 add at,at,gp
+1000046c: 8c218038 lw at,-32712\(at\)
+10000470: 00310820 add at,at,s1
+10000474: 88250000 lwl a1,0\(at\)
+10000478: 98250003 lwr a1,3\(at\)
+1000047c: 3c010000 lui at,0x0
+10000480: 003c0820 add at,at,gp
+10000484: 8c218038 lw at,-32712\(at\)
+10000488: 2021000c addi at,at,12
+1000048c: 00310820 add at,at,s1
+10000490: 88250000 lwl a1,0\(at\)
+10000494: 98250003 lwr a1,3\(at\)
+10000498: 3c010000 lui at,0x0
+1000049c: 003c0820 add at,at,gp
+100004a0: 8c218038 lw at,-32712\(at\)
+100004a4: 20210022 addi at,at,34
+100004a8: 00250820 add at,at,a1
+100004ac: 88250000 lwl a1,0\(at\)
+100004b0: 98250003 lwr a1,3\(at\)
+100004b4: 3c010000 lui at,0x0
+100004b8: 003c0820 add at,at,gp
+100004bc: 8c218038 lw at,-32712\(at\)
+100004c0: 20210038 addi at,at,56
+100004c4: 00250820 add at,at,a1
+100004c8: a8250000 swl a1,0\(at\)
+100004cc: b8250003 swr a1,3\(at\)
+100004d0: 8f858018 lw a1,-32744\(gp\)
+100004d4: 20a50774 addi a1,a1,1908
+100004d8: 8f858018 lw a1,-32744\(gp\)
+100004dc: 20a50780 addi a1,a1,1920
+100004e0: 8f85801c lw a1,-32740\(gp\)
+100004e4: 20a5e9b4 addi a1,a1,-5708
+100004e8: 8f858018 lw a1,-32744\(gp\)
+100004ec: 20a50774 addi a1,a1,1908
+100004f0: 00b12820 add a1,a1,s1
+100004f4: 8f858018 lw a1,-32744\(gp\)
+100004f8: 20a50780 addi a1,a1,1920
+100004fc: 00b12820 add a1,a1,s1
+10000500: 8f85801c lw a1,-32740\(gp\)
+10000504: 20a5e9b4 addi a1,a1,-5708
+10000508: 00b12820 add a1,a1,s1
+1000050c: 8f858018 lw a1,-32744\(gp\)
+10000510: 8ca50774 lw a1,1908\(a1\)
+10000514: 8f858018 lw a1,-32744\(gp\)
+10000518: 8ca50780 lw a1,1920\(a1\)
+1000051c: 8f858018 lw a1,-32744\(gp\)
+10000520: 00b12820 add a1,a1,s1
+10000524: 8ca50774 lw a1,1908\(a1\)
+10000528: 8f858018 lw a1,-32744\(gp\)
+1000052c: 00b12820 add a1,a1,s1
+10000530: 8ca50780 lw a1,1920\(a1\)
+10000534: 8f818018 lw at,-32744\(gp\)
+10000538: 00250820 add at,at,a1
+1000053c: 8c250774 lw a1,1908\(at\)
+10000540: 8f818018 lw at,-32744\(gp\)
+10000544: 00250820 add at,at,a1
+10000548: ac2507ac sw a1,1964\(at\)
+1000054c: 8f818018 lw at,-32744\(gp\)
+10000550: 20210774 addi at,at,1908
+10000554: 88250000 lwl a1,0\(at\)
+10000558: 98250003 lwr a1,3\(at\)
+1000055c: 8f818018 lw at,-32744\(gp\)
+10000560: 20210780 addi at,at,1920
+10000564: 88250000 lwl a1,0\(at\)
+10000568: 98250003 lwr a1,3\(at\)
+1000056c: 8f818018 lw at,-32744\(gp\)
+10000570: 20210774 addi at,at,1908
+10000574: 00310820 add at,at,s1
+10000578: 88250000 lwl a1,0\(at\)
+1000057c: 98250003 lwr a1,3\(at\)
+10000580: 8f818018 lw at,-32744\(gp\)
+10000584: 20210780 addi at,at,1920
+10000588: 00310820 add at,at,s1
+1000058c: 88250000 lwl a1,0\(at\)
+10000590: 98250003 lwr a1,3\(at\)
+10000594: 8f818018 lw at,-32744\(gp\)
+10000598: 20210796 addi at,at,1942
+1000059c: 00250820 add at,at,a1
+100005a0: 88250000 lwl a1,0\(at\)
+100005a4: 98250003 lwr a1,3\(at\)
+100005a8: 8f818018 lw at,-32744\(gp\)
+100005ac: 202107ac addi at,at,1964
+100005b0: 00250820 add at,at,a1
+100005b4: a8250000 swl a1,0\(at\)
+100005b8: b8250003 swr a1,3\(at\)
+100005bc: 3c050000 lui a1,0x0
+100005c0: 00bc2820 add a1,a1,gp
+100005c4: 8ca58030 lw a1,-32720\(a1\)
+100005c8: 8f858020 lw a1,-32736\(gp\)
+100005cc: 20a506a0 addi a1,a1,1696
+100005d0: 3c190000 lui t9,0x0
+100005d4: 033cc820 add t9,t9,gp
+100005d8: 8f398030 lw t9,-32720\(t9\)
+100005dc: 8f998020 lw t9,-32736\(gp\)
+100005e0: 233906a0 addi t9,t9,1696
+100005e4: 3c190000 lui t9,0x0
+100005e8: 033cc820 add t9,t9,gp
+100005ec: 8f398030 lw t9,-32720\(t9\)
+100005f0: 0320f809 jalr t9
+100005f4: 00000000 nop
+100005f8: 8f998020 lw t9,-32736\(gp\)
+100005fc: 233906a0 addi t9,t9,1696
+10000600: 0320f809 jalr t9
+10000604: 00000000 nop
+10000608: 3c050000 lui a1,0x0
+1000060c: 00bc2820 add a1,a1,gp
+10000610: 8ca58034 lw a1,-32716\(a1\)
+10000614: 1000fea2 b 100000a0 <fn>
+10000618: 00000000 nop
+1000061c: 3c050000 lui a1,0x0
+10000620: 00bc2820 add a1,a1,gp
+10000624: 8ca58038 lw a1,-32712\(a1\)
+10000628: 8ca50000 lw a1,0\(a1\)
+1000062c: 1000001c b 100006a0 <fn2>
+10000630: 00000000 nop
+10000634: 8f858018 lw a1,-32744\(gp\)
+10000638: 20a506fc addi a1,a1,1788
+1000063c: 1000fe98 b 100000a0 <fn>
+10000640: 00000000 nop
+10000644: 8f858018 lw a1,-32744\(gp\)
+10000648: 20a50780 addi a1,a1,1920
+1000064c: 10000014 b 100006a0 <fn2>
+10000650: 00000000 nop
+10000654: 8f85801c lw a1,-32740\(gp\)
+10000658: 20a5e93c addi a1,a1,-5828
+1000065c: 1000fe90 b 100000a0 <fn>
+10000660: 00000000 nop
+10000664: 8f858018 lw a1,-32744\(gp\)
+10000668: 8ca50774 lw a1,1908\(a1\)
+1000066c: 1000000c b 100006a0 <fn2>
+10000670: 00000000 nop
+10000674: 8f858018 lw a1,-32744\(gp\)
+10000678: 8ca50708 lw a1,1800\(a1\)
+1000067c: 1000fe88 b 100000a0 <fn>
+10000680: 00000000 nop
+10000684: 8f818018 lw at,-32744\(gp\)
+10000688: 00250820 add at,at,a1
+1000068c: 8c250796 lw a1,1942\(at\)
+10000690: 10000003 b 100006a0 <fn2>
+10000694: 00000000 nop
+ \.\.\.
+Disassembly of section \.reginfo:
+
+100006a0 <\.reginfo>:
+100006a0: 92020022 .*
+ \.\.\.
+100006b4: 101087a0 .*
+Disassembly of section \.data:
+
+101006c0 <_fdata>:
+ \.\.\.
+
+101006fc <dg1>:
+ \.\.\.
+
+10100738 <sp2>:
+ \.\.\.
+
+10100774 <dg2>:
+ \.\.\.
+Disassembly of section \.got:
+
+101007b0 <_GLOBAL_OFFSET_TABLE_>:
+101007b0: 00000000 .*
+101007b4: 80000000 .*
+101007b8: 10100000 .*
+101007bc: 10120000 .*
+101007c0: 10000000 .*
+101007c4: 00000000 .*
+101007c8: 00000000 .*
+101007cc: 100000a0 .*
+101007d0: 100006a0 .*
+101007d4: 101006fc .*
+101007d8: 10100774 .*
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
new file mode 100644
index 0000000..1cdf42d
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64.d
@@ -0,0 +1,435 @@
+#name: MIPS ELF xgot reloc n64
+#as: -64 -KPIC -xgot
+#source: ../../../gas/testsuite/gas/mips/elf-rel-got-n64.s
+#ld: -melf64btsmip
+#objdump: -D --show-raw-insn
+
+.*: +file format elf64-.*mips.*
+
+Disassembly of section \.MIPS\.options:
+
+00000000100000b0 <\.MIPS\.options>:
+ 100000b0: 01280000 .*
+ 100000b4: 00000000 .*
+ 100000b8: 92020022 .*
+ \.\.\.
+ 100000d4: 101087c0 .*
+Disassembly of section \.text:
+
+00000000100000e0 <fn>:
+ 100000e0: 3c050000 lui a1,0x0
+ 100000e4: 00bc282d daddu a1,a1,gp
+ 100000e8: dca58058 ld a1,-32680\(a1\)
+ 100000ec: 3c050000 lui a1,0x0
+ 100000f0: 00bc282d daddu a1,a1,gp
+ 100000f4: dca58058 ld a1,-32680\(a1\)
+ 100000f8: 64a5000c daddiu a1,a1,12
+ 100000fc: 3c050000 lui a1,0x0
+ 10000100: 00bc282d daddu a1,a1,gp
+ 10000104: dca58058 ld a1,-32680\(a1\)
+ 10000108: 3c010002 lui at,0x2
+ 1000010c: 6421e240 daddiu at,at,-7616
+ 10000110: 00a1282d daddu a1,a1,at
+ 10000114: 3c050000 lui a1,0x0
+ 10000118: 00bc282d daddu a1,a1,gp
+ 1000011c: dca58058 ld a1,-32680\(a1\)
+ 10000120: 00b1282d daddu a1,a1,s1
+ 10000124: 3c050000 lui a1,0x0
+ 10000128: 00bc282d daddu a1,a1,gp
+ 1000012c: dca58058 ld a1,-32680\(a1\)
+ 10000130: 64a5000c daddiu a1,a1,12
+ 10000134: 00b1282d daddu a1,a1,s1
+ 10000138: 3c050000 lui a1,0x0
+ 1000013c: 00bc282d daddu a1,a1,gp
+ 10000140: dca58058 ld a1,-32680\(a1\)
+ 10000144: 3c010002 lui at,0x2
+ 10000148: 6421e240 daddiu at,at,-7616
+ 1000014c: 00a1282d daddu a1,a1,at
+ 10000150: 00b1282d daddu a1,a1,s1
+ 10000154: 3c050000 lui a1,0x0
+ 10000158: 00bc282d daddu a1,a1,gp
+ 1000015c: dca58058 ld a1,-32680\(a1\)
+ 10000160: dca50000 ld a1,0\(a1\)
+ 10000164: 3c050000 lui a1,0x0
+ 10000168: 00bc282d daddu a1,a1,gp
+ 1000016c: dca58058 ld a1,-32680\(a1\)
+ 10000170: dca5000c ld a1,12\(a1\)
+ 10000174: 3c050000 lui a1,0x0
+ 10000178: 00bc282d daddu a1,a1,gp
+ 1000017c: dca58058 ld a1,-32680\(a1\)
+ 10000180: 00b1282d daddu a1,a1,s1
+ 10000184: dca50000 ld a1,0\(a1\)
+ 10000188: 3c050000 lui a1,0x0
+ 1000018c: 00bc282d daddu a1,a1,gp
+ 10000190: dca58058 ld a1,-32680\(a1\)
+ 10000194: 00b1282d daddu a1,a1,s1
+ 10000198: dca5000c ld a1,12\(a1\)
+ 1000019c: 3c010000 lui at,0x0
+ 100001a0: 003c082d daddu at,at,gp
+ 100001a4: dc218058 ld at,-32680\(at\)
+ 100001a8: 0025082d daddu at,at,a1
+ 100001ac: dc250022 ld a1,34\(at\)
+ 100001b0: 3c010000 lui at,0x0
+ 100001b4: 003c082d daddu at,at,gp
+ 100001b8: dc218058 ld at,-32680\(at\)
+ 100001bc: 0025082d daddu at,at,a1
+ 100001c0: fc250038 sd a1,56\(at\)
+ 100001c4: 3c010000 lui at,0x0
+ 100001c8: 003c082d daddu at,at,gp
+ 100001cc: dc218058 ld at,-32680\(at\)
+ 100001d0: 88250000 lwl a1,0\(at\)
+ 100001d4: 98250003 lwr a1,3\(at\)
+ 100001d8: 3c010000 lui at,0x0
+ 100001dc: 003c082d daddu at,at,gp
+ 100001e0: dc218058 ld at,-32680\(at\)
+ 100001e4: 6421000c daddiu at,at,12
+ 100001e8: 88250000 lwl a1,0\(at\)
+ 100001ec: 98250003 lwr a1,3\(at\)
+ 100001f0: 3c010000 lui at,0x0
+ 100001f4: 003c082d daddu at,at,gp
+ 100001f8: dc218058 ld at,-32680\(at\)
+ 100001fc: 0031082d daddu at,at,s1
+ 10000200: 88250000 lwl a1,0\(at\)
+ 10000204: 98250003 lwr a1,3\(at\)
+ 10000208: 3c010000 lui at,0x0
+ 1000020c: 003c082d daddu at,at,gp
+ 10000210: dc218058 ld at,-32680\(at\)
+ 10000214: 6421000c daddiu at,at,12
+ 10000218: 0031082d daddu at,at,s1
+ 1000021c: 88250000 lwl a1,0\(at\)
+ 10000220: 98250003 lwr a1,3\(at\)
+ 10000224: 3c010000 lui at,0x0
+ 10000228: 003c082d daddu at,at,gp
+ 1000022c: dc218058 ld at,-32680\(at\)
+ 10000230: 64210022 daddiu at,at,34
+ 10000234: 0025082d daddu at,at,a1
+ 10000238: 88250000 lwl a1,0\(at\)
+ 1000023c: 98250003 lwr a1,3\(at\)
+ 10000240: 3c010000 lui at,0x0
+ 10000244: 003c082d daddu at,at,gp
+ 10000248: dc218058 ld at,-32680\(at\)
+ 1000024c: 64210038 daddiu at,at,56
+ 10000250: 0025082d daddu at,at,a1
+ 10000254: a8250000 swl a1,0\(at\)
+ 10000258: b8250003 swr a1,3\(at\)
+ 1000025c: df858020 ld a1,-32736\(gp\)
+ 10000260: 64a5071c daddiu a1,a1,1820
+ 10000264: df858020 ld a1,-32736\(gp\)
+ 10000268: 64a50728 daddiu a1,a1,1832
+ 1000026c: df858028 ld a1,-32728\(gp\)
+ 10000270: 64a5e95c daddiu a1,a1,-5796
+ 10000274: df858020 ld a1,-32736\(gp\)
+ 10000278: 64a5071c daddiu a1,a1,1820
+ 1000027c: 00b1282d daddu a1,a1,s1
+ 10000280: df858020 ld a1,-32736\(gp\)
+ 10000284: 64a50728 daddiu a1,a1,1832
+ 10000288: 00b1282d daddu a1,a1,s1
+ 1000028c: df858028 ld a1,-32728\(gp\)
+ 10000290: 64a5e95c daddiu a1,a1,-5796
+ 10000294: 00b1282d daddu a1,a1,s1
+ 10000298: df858020 ld a1,-32736\(gp\)
+ 1000029c: dca5071c ld a1,1820\(a1\)
+ 100002a0: df858020 ld a1,-32736\(gp\)
+ 100002a4: dca50728 ld a1,1832\(a1\)
+ 100002a8: df858020 ld a1,-32736\(gp\)
+ 100002ac: 00b1282d daddu a1,a1,s1
+ 100002b0: dca5071c ld a1,1820\(a1\)
+ 100002b4: df858020 ld a1,-32736\(gp\)
+ 100002b8: 00b1282d daddu a1,a1,s1
+ 100002bc: dca50728 ld a1,1832\(a1\)
+ 100002c0: df818020 ld at,-32736\(gp\)
+ 100002c4: 0025082d daddu at,at,a1
+ 100002c8: dc25073e ld a1,1854\(at\)
+ 100002cc: df818020 ld at,-32736\(gp\)
+ 100002d0: 0025082d daddu at,at,a1
+ 100002d4: fc250754 sd a1,1876\(at\)
+ 100002d8: df818020 ld at,-32736\(gp\)
+ 100002dc: 6421071c daddiu at,at,1820
+ 100002e0: 88250000 lwl a1,0\(at\)
+ 100002e4: 98250003 lwr a1,3\(at\)
+ 100002e8: df818020 ld at,-32736\(gp\)
+ 100002ec: 64210728 daddiu at,at,1832
+ 100002f0: 88250000 lwl a1,0\(at\)
+ 100002f4: 98250003 lwr a1,3\(at\)
+ 100002f8: df818020 ld at,-32736\(gp\)
+ 100002fc: 6421071c daddiu at,at,1820
+ 10000300: 0031082d daddu at,at,s1
+ 10000304: 88250000 lwl a1,0\(at\)
+ 10000308: 98250003 lwr a1,3\(at\)
+ 1000030c: df818020 ld at,-32736\(gp\)
+ 10000310: 64210728 daddiu at,at,1832
+ 10000314: 0031082d daddu at,at,s1
+ 10000318: 88250000 lwl a1,0\(at\)
+ 1000031c: 98250003 lwr a1,3\(at\)
+ 10000320: df818020 ld at,-32736\(gp\)
+ 10000324: 6421073e daddiu at,at,1854
+ 10000328: 0025082d daddu at,at,a1
+ 1000032c: 88250000 lwl a1,0\(at\)
+ 10000330: 98250003 lwr a1,3\(at\)
+ 10000334: df818020 ld at,-32736\(gp\)
+ 10000338: 64210754 daddiu at,at,1876
+ 1000033c: 0025082d daddu at,at,a1
+ 10000340: a8250000 swl a1,0\(at\)
+ 10000344: b8250003 swr a1,3\(at\)
+ 10000348: 3c050000 lui a1,0x0
+ 1000034c: 00bc282d daddu a1,a1,gp
+ 10000350: dca58048 ld a1,-32696\(a1\)
+ 10000354: df858030 ld a1,-32720\(gp\)
+ 10000358: 64a500e0 daddiu a1,a1,224
+ 1000035c: 3c190000 lui t9,0x0
+ 10000360: 033cc82d daddu t9,t9,gp
+ 10000364: df398048 ld t9,-32696\(t9\)
+ 10000368: df998030 ld t9,-32720\(gp\)
+ 1000036c: 673900e0 daddiu t9,t9,224
+ 10000370: 3c190000 lui t9,0x0
+ 10000374: 033cc82d daddu t9,t9,gp
+ 10000378: df398048 ld t9,-32696\(t9\)
+ 1000037c: 0320f809 jalr t9
+ 10000380: 00000000 nop
+ 10000384: df998030 ld t9,-32720\(gp\)
+ 10000388: 673900e0 daddiu t9,t9,224
+ 1000038c: 0320f809 jalr t9
+ 10000390: 00000000 nop
+ 10000394: 3c050000 lui a1,0x0
+ 10000398: 00bc282d daddu a1,a1,gp
+ 1000039c: dca58060 ld a1,-32672\(a1\)
+ 100003a0: 3c050000 lui a1,0x0
+ 100003a4: 00bc282d daddu a1,a1,gp
+ 100003a8: dca58060 ld a1,-32672\(a1\)
+ 100003ac: 64a5000c daddiu a1,a1,12
+ 100003b0: 3c050000 lui a1,0x0
+ 100003b4: 00bc282d daddu a1,a1,gp
+ 100003b8: dca58060 ld a1,-32672\(a1\)
+ 100003bc: 3c010002 lui at,0x2
+ 100003c0: 6421e240 daddiu at,at,-7616
+ 100003c4: 00a1282d daddu a1,a1,at
+ 100003c8: 3c050000 lui a1,0x0
+ 100003cc: 00bc282d daddu a1,a1,gp
+ 100003d0: dca58060 ld a1,-32672\(a1\)
+ 100003d4: 00b1282d daddu a1,a1,s1
+ 100003d8: 3c050000 lui a1,0x0
+ 100003dc: 00bc282d daddu a1,a1,gp
+ 100003e0: dca58060 ld a1,-32672\(a1\)
+ 100003e4: 64a5000c daddiu a1,a1,12
+ 100003e8: 00b1282d daddu a1,a1,s1
+ 100003ec: 3c050000 lui a1,0x0
+ 100003f0: 00bc282d daddu a1,a1,gp
+ 100003f4: dca58060 ld a1,-32672\(a1\)
+ 100003f8: 3c010002 lui at,0x2
+ 100003fc: 6421e240 daddiu at,at,-7616
+ 10000400: 00a1282d daddu a1,a1,at
+ 10000404: 00b1282d daddu a1,a1,s1
+ 10000408: 3c050000 lui a1,0x0
+ 1000040c: 00bc282d daddu a1,a1,gp
+ 10000410: dca58060 ld a1,-32672\(a1\)
+ 10000414: dca50000 ld a1,0\(a1\)
+ 10000418: 3c050000 lui a1,0x0
+ 1000041c: 00bc282d daddu a1,a1,gp
+ 10000420: dca58060 ld a1,-32672\(a1\)
+ 10000424: dca5000c ld a1,12\(a1\)
+ 10000428: 3c050000 lui a1,0x0
+ 1000042c: 00bc282d daddu a1,a1,gp
+ 10000430: dca58060 ld a1,-32672\(a1\)
+ 10000434: 00b1282d daddu a1,a1,s1
+ 10000438: dca50000 ld a1,0\(a1\)
+ 1000043c: 3c050000 lui a1,0x0
+ 10000440: 00bc282d daddu a1,a1,gp
+ 10000444: dca58060 ld a1,-32672\(a1\)
+ 10000448: 00b1282d daddu a1,a1,s1
+ 1000044c: dca5000c ld a1,12\(a1\)
+ 10000450: 3c010000 lui at,0x0
+ 10000454: 003c082d daddu at,at,gp
+ 10000458: dc218060 ld at,-32672\(at\)
+ 1000045c: 0025082d daddu at,at,a1
+ 10000460: dc250022 ld a1,34\(at\)
+ 10000464: 3c010000 lui at,0x0
+ 10000468: 003c082d daddu at,at,gp
+ 1000046c: dc218060 ld at,-32672\(at\)
+ 10000470: 0025082d daddu at,at,a1
+ 10000474: fc250038 sd a1,56\(at\)
+ 10000478: 3c010000 lui at,0x0
+ 1000047c: 003c082d daddu at,at,gp
+ 10000480: dc218060 ld at,-32672\(at\)
+ 10000484: 88250000 lwl a1,0\(at\)
+ 10000488: 98250003 lwr a1,3\(at\)
+ 1000048c: 3c010000 lui at,0x0
+ 10000490: 003c082d daddu at,at,gp
+ 10000494: dc218060 ld at,-32672\(at\)
+ 10000498: 6421000c daddiu at,at,12
+ 1000049c: 88250000 lwl a1,0\(at\)
+ 100004a0: 98250003 lwr a1,3\(at\)
+ 100004a4: 3c010000 lui at,0x0
+ 100004a8: 003c082d daddu at,at,gp
+ 100004ac: dc218060 ld at,-32672\(at\)
+ 100004b0: 0031082d daddu at,at,s1
+ 100004b4: 88250000 lwl a1,0\(at\)
+ 100004b8: 98250003 lwr a1,3\(at\)
+ 100004bc: 3c010000 lui at,0x0
+ 100004c0: 003c082d daddu at,at,gp
+ 100004c4: dc218060 ld at,-32672\(at\)
+ 100004c8: 6421000c daddiu at,at,12
+ 100004cc: 0031082d daddu at,at,s1
+ 100004d0: 88250000 lwl a1,0\(at\)
+ 100004d4: 98250003 lwr a1,3\(at\)
+ 100004d8: 3c010000 lui at,0x0
+ 100004dc: 003c082d daddu at,at,gp
+ 100004e0: dc218060 ld at,-32672\(at\)
+ 100004e4: 64210022 daddiu at,at,34
+ 100004e8: 0025082d daddu at,at,a1
+ 100004ec: 88250000 lwl a1,0\(at\)
+ 100004f0: 98250003 lwr a1,3\(at\)
+ 100004f4: 3c010000 lui at,0x0
+ 100004f8: 003c082d daddu at,at,gp
+ 100004fc: dc218060 ld at,-32672\(at\)
+ 10000500: 64210038 daddiu at,at,56
+ 10000504: 0025082d daddu at,at,a1
+ 10000508: a8250000 swl a1,0\(at\)
+ 1000050c: b8250003 swr a1,3\(at\)
+ 10000510: df858020 ld a1,-32736\(gp\)
+ 10000514: 64a50794 daddiu a1,a1,1940
+ 10000518: df858020 ld a1,-32736\(gp\)
+ 1000051c: 64a507a0 daddiu a1,a1,1952
+ 10000520: df858028 ld a1,-32728\(gp\)
+ 10000524: 64a5e9d4 daddiu a1,a1,-5676
+ 10000528: df858020 ld a1,-32736\(gp\)
+ 1000052c: 64a50794 daddiu a1,a1,1940
+ 10000530: 00b1282d daddu a1,a1,s1
+ 10000534: df858020 ld a1,-32736\(gp\)
+ 10000538: 64a507a0 daddiu a1,a1,1952
+ 1000053c: 00b1282d daddu a1,a1,s1
+ 10000540: df858028 ld a1,-32728\(gp\)
+ 10000544: 64a5e9d4 daddiu a1,a1,-5676
+ 10000548: 00b1282d daddu a1,a1,s1
+ 1000054c: df858020 ld a1,-32736\(gp\)
+ 10000550: dca50794 ld a1,1940\(a1\)
+ 10000554: df858020 ld a1,-32736\(gp\)
+ 10000558: dca507a0 ld a1,1952\(a1\)
+ 1000055c: df858020 ld a1,-32736\(gp\)
+ 10000560: 00b1282d daddu a1,a1,s1
+ 10000564: dca50794 ld a1,1940\(a1\)
+ 10000568: df858020 ld a1,-32736\(gp\)
+ 1000056c: 00b1282d daddu a1,a1,s1
+ 10000570: dca507a0 ld a1,1952\(a1\)
+ 10000574: df818020 ld at,-32736\(gp\)
+ 10000578: 0025082d daddu at,at,a1
+ 1000057c: dc250794 ld a1,1940\(at\)
+ 10000580: df818020 ld at,-32736\(gp\)
+ 10000584: 0025082d daddu at,at,a1
+ 10000588: fc2507cc sd a1,1996\(at\)
+ 1000058c: df818020 ld at,-32736\(gp\)
+ 10000590: 64210794 daddiu at,at,1940
+ 10000594: 88250000 lwl a1,0\(at\)
+ 10000598: 98250003 lwr a1,3\(at\)
+ 1000059c: df818020 ld at,-32736\(gp\)
+ 100005a0: 642107a0 daddiu at,at,1952
+ 100005a4: 88250000 lwl a1,0\(at\)
+ 100005a8: 98250003 lwr a1,3\(at\)
+ 100005ac: df818020 ld at,-32736\(gp\)
+ 100005b0: 64210794 daddiu at,at,1940
+ 100005b4: 0031082d daddu at,at,s1
+ 100005b8: 88250000 lwl a1,0\(at\)
+ 100005bc: 98250003 lwr a1,3\(at\)
+ 100005c0: df818020 ld at,-32736\(gp\)
+ 100005c4: 642107a0 daddiu at,at,1952
+ 100005c8: 0031082d daddu at,at,s1
+ 100005cc: 88250000 lwl a1,0\(at\)
+ 100005d0: 98250003 lwr a1,3\(at\)
+ 100005d4: df818020 ld at,-32736\(gp\)
+ 100005d8: 642107b6 daddiu at,at,1974
+ 100005dc: 0025082d daddu at,at,a1
+ 100005e0: 88250000 lwl a1,0\(at\)
+ 100005e4: 98250003 lwr a1,3\(at\)
+ 100005e8: df818020 ld at,-32736\(gp\)
+ 100005ec: 642107cc daddiu at,at,1996
+ 100005f0: 0025082d daddu at,at,a1
+ 100005f4: a8250000 swl a1,0\(at\)
+ 100005f8: b8250003 swr a1,3\(at\)
+ 100005fc: 3c050000 lui a1,0x0
+ 10000600: 00bc282d daddu a1,a1,gp
+ 10000604: dca58050 ld a1,-32688\(a1\)
+ 10000608: df858030 ld a1,-32720\(gp\)
+ 1000060c: 64a506e0 daddiu a1,a1,1760
+ 10000610: 3c190000 lui t9,0x0
+ 10000614: 033cc82d daddu t9,t9,gp
+ 10000618: df398050 ld t9,-32688\(t9\)
+ 1000061c: df998030 ld t9,-32720\(gp\)
+ 10000620: 673906e0 daddiu t9,t9,1760
+ 10000624: 3c190000 lui t9,0x0
+ 10000628: 033cc82d daddu t9,t9,gp
+ 1000062c: df398050 ld t9,-32688\(t9\)
+ 10000630: 0320f809 jalr t9
+ 10000634: 00000000 nop
+ 10000638: df998030 ld t9,-32720\(gp\)
+ 1000063c: 673906e0 daddiu t9,t9,1760
+ 10000640: 0320f809 jalr t9
+ 10000644: 00000000 nop
+ 10000648: 3c050000 lui a1,0x0
+ 1000064c: 00bc282d daddu a1,a1,gp
+ 10000650: dca58058 ld a1,-32680\(a1\)
+ 10000654: 1000fea2 b 100000e0 <fn>
+ 10000658: 00000000 nop
+ 1000065c: 3c050000 lui a1,0x0
+ 10000660: 00bc282d daddu a1,a1,gp
+ 10000664: dca58060 ld a1,-32672\(a1\)
+ 10000668: dca50000 ld a1,0\(a1\)
+ 1000066c: 1000001c b 100006e0 <fn2>
+ 10000670: 00000000 nop
+ 10000674: df858020 ld a1,-32736\(gp\)
+ 10000678: 64a5071c daddiu a1,a1,1820
+ 1000067c: 1000fe98 b 100000e0 <fn>
+ 10000680: 00000000 nop
+ 10000684: df858020 ld a1,-32736\(gp\)
+ 10000688: 64a507a0 daddiu a1,a1,1952
+ 1000068c: 10000014 b 100006e0 <fn2>
+ 10000690: 00000000 nop
+ 10000694: df858028 ld a1,-32728\(gp\)
+ 10000698: 64a5e95c daddiu a1,a1,-5796
+ 1000069c: 1000fe90 b 100000e0 <fn>
+ 100006a0: 00000000 nop
+ 100006a4: df858020 ld a1,-32736\(gp\)
+ 100006a8: dca50794 ld a1,1940\(a1\)
+ 100006ac: 1000000c b 100006e0 <fn2>
+ 100006b0: 00000000 nop
+ 100006b4: df858020 ld a1,-32736\(gp\)
+ 100006b8: dca50728 ld a1,1832\(a1\)
+ 100006bc: 1000fe88 b 100000e0 <fn>
+ 100006c0: 00000000 nop
+ 100006c4: df818020 ld at,-32736\(gp\)
+ 100006c8: 0025082d daddu at,at,a1
+ 100006cc: dc2507b6 ld a1,1974\(at\)
+ 100006d0: 10000003 b 100006e0 <fn2>
+ 100006d4: 00000000 nop
+ \.\.\.
+Disassembly of section \.data:
+
+00000000101006e0 <_fdata>:
+ \.\.\.
+
+000000001010071c <dg1>:
+ \.\.\.
+
+0000000010100758 <sp2>:
+ \.\.\.
+
+0000000010100794 <dg2>:
+ \.\.\.
+Disassembly of section \.got:
+
+00000000101007d0 <_GLOBAL_OFFSET_TABLE_>:
+ \.\.\.
+ 101007dc: 80000000 .*
+ 101007e0: 00000000 .*
+ 101007e4: 10100000 .*
+ 101007e8: 00000000 .*
+ 101007ec: 10120000 .*
+ 101007f0: 00000000 .*
+ 101007f4: 10000000 .*
+ 101007f8: 00000000 .*
+ \.\.\.
+ 1010080c: 100000e0 .*
+ 10100810: 00000000 .*
+ 10100814: 100006e0 .*
+ 10100818: 00000000 .*
+ 1010081c: 1010071c .*
+ 10100820: 00000000 .*
+ 10100824: 10100794 .*
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 596f777..e2bb4ec 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -17,6 +17,7 @@
#
if { [istarget mips*-*-*] } then {
+ set has_newabi [expr [istarget *-*-irix6*] || [istarget mips64*-*-linux*]]
set elf [expr [istarget mips*-*-elf] || [istarget mips*-*-linux*] || \
[istarget mips*-*-netbsd] || [istarget mips*-*-irix*]]
@@ -34,10 +35,17 @@ if { [istarget mips*-*-*] } then {
# Test multi-got link.
run_dump_test "multi-got-1"
- run_dump_test "relax-jalr-n32"
- run_dump_test "relax-jalr-n32-shared"
- run_dump_test "relax-jalr-n64"
- run_dump_test "relax-jalr-n64-shared"
+ if $has_newabi {
+ run_dump_test "elf-rel-got-n32"
+ run_dump_test "elf-rel-xgot-n32"
+ run_dump_test "elf-rel-got-n64"
+ run_dump_test "elf-rel-xgot-n64"
+
+ run_dump_test "relax-jalr-n32"
+ run_dump_test "relax-jalr-n32-shared"
+ run_dump_test "relax-jalr-n64"
+ run_dump_test "relax-jalr-n64-shared"
+ }
}
if { $linux_gnu } {