aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2004-02-17 10:19:24 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2004-02-17 10:19:24 +0000
commitd25aed713b6b953317601bf93df7a9a14cb39031 (patch)
tree346c710199e44f71d0990604f017664836d48344
parentf937530551ba8561aed3e15538bb1803e99f2ee8 (diff)
downloadgdb-d25aed713b6b953317601bf93df7a9a14cb39031.zip
gdb-d25aed713b6b953317601bf93df7a9a14cb39031.tar.gz
gdb-d25aed713b6b953317601bf93df7a9a14cb39031.tar.bz2
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Use _bfd_elf_symbol_refs_local_p to decide whether to decay a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend. (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE relocs if the symbol wasn't defined by a regular object file. Don't check the symbol's dynindx. ld/testsuite/ * ld-mips/elf/elf-rel-xgot-{n32,n64-linux}.d: Update after 2004-02-02 changes to the way large constants are added. * ld-mips/elf/elf-rel-got-{n32,n64-linux}.d: Likewise. Adjust order of GOT entries after today's change to the handling of GOT_PAGE relocations.
-rw-r--r--bfd/ChangeLog10
-rw-r--r--bfd/elfxx-mips.c28
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-got-n32.d131
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d131
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d17
-rw-r--r--ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d17
7 files changed, 173 insertions, 169 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 04e8298..753a0f7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,13 @@
+2004-02-17 Daniel Jacobowitz <drow@mvista.com>
+ Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Use
+ _bfd_elf_symbol_refs_local_p to decide whether to decay
+ a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
+ (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
+ relocs if the symbol wasn't defined by a regular object file.
+ Don't check the symbol's dynindx.
+
2004-02-16 Andrew Cagney <cagney@redhat.com>
* bfd-in.h (file_ptr, ufile_ptr): Configure type using
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index a296458..f072f26 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -3261,12 +3261,9 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd,
{
case R_MIPS_GOT_PAGE:
case R_MIPS_GOT_OFST:
- /* If this symbol got a global GOT entry, we have to decay
- GOT_PAGE/GOT_OFST to GOT_DISP/addend. */
- local_p = local_p || ! h
- || (h->root.dynindx
- < mips_elf_get_global_gotsym_index (elf_hash_table (info)
- ->dynobj));
+ /* We need to decay to GOT_DISP/addend if the symbol doesn't
+ bind locally. */
+ local_p = local_p || _bfd_elf_symbol_refs_local_p (&h->root, info, 1);
if (local_p || r_type == R_MIPS_GOT_OFST)
break;
/* Fall through. */
@@ -5384,25 +5381,10 @@ _bfd_mips_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
hmips = (struct mips_elf_link_hash_entry *)
hmips->root.root.u.i.link;
- if ((hmips->root.root.type == bfd_link_hash_defined
- || hmips->root.root.type == bfd_link_hash_defweak)
- && hmips->root.root.u.def.section
+ if ((hmips->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR)
&& ! (info->shared && ! info->symbolic
&& ! (hmips->root.elf_link_hash_flags
- & ELF_LINK_FORCED_LOCAL))
- /* If we've encountered any other relocation
- referencing the symbol, we'll have marked it as
- dynamic, and, even though we might be able to get
- rid of the GOT entry should we know for sure all
- previous relocations were GOT_PAGE ones, at this
- point we can't tell, so just keep using the
- symbol as dynamic. This is very important in the
- multi-got case, since we don't decide whether to
- decay GOT_PAGE to GOT_DISP on a per-GOT basis: if
- the symbol is dynamic, we'll need a GOT entry for
- every GOT in which the symbol is referenced with
- a GOT_PAGE relocation. */
- && hmips->root.dynindx == -1)
+ & ELF_LINK_FORCED_LOCAL)))
break;
}
/* Fall through. */
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index f67c5ec..3b59938 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2004-02-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * ld-mips/elf/elf-rel-xgot-{n32,n64-linux}.d: Update after 2004-02-02
+ changes to the way large constants are added.
+ * ld-mips/elf/elf-rel-got-{n32,n64-linux}.d: Likewise. Adjust order
+ of GOT entries after today's change to the handling of GOT_PAGE
+ relocations.
+
2004-02-09 Anil Paranjpe <anilp1@KPITCummins.com>
* ld-h8300/relax-5.s: New file: Source for relax-5 test.
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d b/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
index 2a13b1f..91479ec 100644
--- a/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
+++ b/ld/testsuite/ld-mips-elf/elf-rel-got-n32.d
@@ -13,8 +13,8 @@ Disassembly of section \.text:
100000a4: 8f858064 lw a1,-32668\(gp\)
100000a8: 24a5000c addiu a1,a1,12
100000ac: 8f858064 lw a1,-32668\(gp\)
-100000b0: 3c010002 lui at,0x2
-100000b4: 2421e240 addiu at,at,-7616
+100000b0: 3c010001 lui at,0x1
+100000b4: 3421e240 ori at,at,0xe240
100000b8: 00a12821 addu a1,a1,at
100000bc: 8f858064 lw a1,-32668\(gp\)
100000c0: 00b12821 addu a1,a1,s1
@@ -22,26 +22,26 @@ Disassembly of section \.text:
100000c8: 24a5000c addiu a1,a1,12
100000cc: 00b12821 addu a1,a1,s1
100000d0: 8f858064 lw a1,-32668\(gp\)
-100000d4: 3c010002 lui at,0x2
-100000d8: 2421e240 addiu at,at,-7616
+100000d4: 3c010001 lui at,0x1
+100000d8: 3421e240 ori at,at,0xe240
100000dc: 00a12821 addu a1,a1,at
100000e0: 00b12821 addu 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\)
+100000e4: 8f858018 lw a1,-32744\(gp\)
+100000e8: 8ca5050c lw a1,1292\(a1\)
+100000ec: 8f858018 lw a1,-32744\(gp\)
+100000f0: 8ca50518 lw a1,1304\(a1\)
+100000f4: 8f858018 lw a1,-32744\(gp\)
100000f8: 00b12821 addu a1,a1,s1
-100000fc: 8ca50000 lw a1,0\(a1\)
-10000100: 8f858064 lw a1,-32668\(gp\)
+100000fc: 8ca5050c lw a1,1292\(a1\)
+10000100: 8f858018 lw a1,-32744\(gp\)
10000104: 00b12821 addu a1,a1,s1
-10000108: 8ca5000c lw a1,12\(a1\)
-1000010c: 8f818064 lw at,-32668\(gp\)
+10000108: 8ca50518 lw a1,1304\(a1\)
+1000010c: 8f818018 lw at,-32744\(gp\)
10000110: 00250821 addu at,at,a1
-10000114: 8c250022 lw a1,34\(at\)
-10000118: 8f818064 lw at,-32668\(gp\)
+10000114: 8c25052e lw a1,1326\(at\)
+10000118: 8f818018 lw at,-32744\(gp\)
1000011c: 00250821 addu at,at,a1
-10000120: ac250038 sw a1,56\(at\)
+10000120: ac250544 sw a1,1348\(at\)
10000124: 8f818064 lw at,-32668\(gp\)
10000128: 88250000 lwl a1,0\(at\)
1000012c: 98250003 lwr a1,3\(at\)
@@ -68,42 +68,42 @@ Disassembly of section \.text:
10000180: 00250821 addu 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\)
+1000018c: 8f85801c lw a1,-32740\(gp\)
+10000190: 8f858020 lw a1,-32736\(gp\)
+10000194: 8f858024 lw a1,-32732\(gp\)
+10000198: 8f85801c lw a1,-32740\(gp\)
1000019c: 00b12821 addu a1,a1,s1
-100001a0: 8f85801c lw a1,-32740\(gp\)
+100001a0: 8f858020 lw a1,-32736\(gp\)
100001a4: 00b12821 addu a1,a1,s1
-100001a8: 8f858020 lw a1,-32736\(gp\)
+100001a8: 8f858024 lw a1,-32732\(gp\)
100001ac: 00b12821 addu a1,a1,s1
-100001b0: 8f858024 lw a1,-32732\(gp\)
+100001b0: 8f858018 lw a1,-32744\(gp\)
100001b4: 8ca5050c lw a1,1292\(a1\)
-100001b8: 8f858024 lw a1,-32732\(gp\)
+100001b8: 8f858018 lw a1,-32744\(gp\)
100001bc: 8ca50518 lw a1,1304\(a1\)
-100001c0: 8f858024 lw a1,-32732\(gp\)
+100001c0: 8f858018 lw a1,-32744\(gp\)
100001c4: 00b12821 addu a1,a1,s1
100001c8: 8ca5050c lw a1,1292\(a1\)
-100001cc: 8f858024 lw a1,-32732\(gp\)
+100001cc: 8f858018 lw a1,-32744\(gp\)
100001d0: 00b12821 addu a1,a1,s1
100001d4: 8ca50518 lw a1,1304\(a1\)
-100001d8: 8f818024 lw at,-32732\(gp\)
+100001d8: 8f818018 lw at,-32744\(gp\)
100001dc: 00250821 addu at,at,a1
100001e0: 8c25052e lw a1,1326\(at\)
-100001e4: 8f818024 lw at,-32732\(gp\)
+100001e4: 8f818018 lw at,-32744\(gp\)
100001e8: 00250821 addu at,at,a1
100001ec: ac250544 sw a1,1348\(at\)
-100001f0: 8f818018 lw at,-32744\(gp\)
+100001f0: 8f81801c lw at,-32740\(gp\)
100001f4: 88250000 lwl a1,0\(at\)
100001f8: 98250003 lwr a1,3\(at\)
-100001fc: 8f81801c lw at,-32740\(gp\)
+100001fc: 8f818020 lw at,-32736\(gp\)
10000200: 88250000 lwl a1,0\(at\)
10000204: 98250003 lwr a1,3\(at\)
-10000208: 8f818018 lw at,-32744\(gp\)
+10000208: 8f81801c lw at,-32740\(gp\)
1000020c: 00310821 addu at,at,s1
10000210: 88250000 lwl a1,0\(at\)
10000214: 98250003 lwr a1,3\(at\)
-10000218: 8f81801c lw at,-32740\(gp\)
+10000218: 8f818020 lw at,-32736\(gp\)
1000021c: 00310821 addu at,at,s1
10000220: 88250000 lwl a1,0\(at\)
10000224: 98250003 lwr a1,3\(at\)
@@ -129,8 +129,8 @@ Disassembly of section \.text:
10000274: 8f858068 lw a1,-32664\(gp\)
10000278: 24a5000c addiu a1,a1,12
1000027c: 8f858068 lw a1,-32664\(gp\)
-10000280: 3c010002 lui at,0x2
-10000284: 2421e240 addiu at,at,-7616
+10000280: 3c010001 lui at,0x1
+10000284: 3421e240 ori at,at,0xe240
10000288: 00a12821 addu a1,a1,at
1000028c: 8f858068 lw a1,-32664\(gp\)
10000290: 00b12821 addu a1,a1,s1
@@ -138,26 +138,26 @@ Disassembly of section \.text:
10000298: 24a5000c addiu a1,a1,12
1000029c: 00b12821 addu a1,a1,s1
100002a0: 8f858068 lw a1,-32664\(gp\)
-100002a4: 3c010002 lui at,0x2
-100002a8: 2421e240 addiu at,at,-7616
+100002a4: 3c010001 lui at,0x1
+100002a8: 3421e240 ori at,at,0xe240
100002ac: 00a12821 addu a1,a1,at
100002b0: 00b12821 addu 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\)
+100002b4: 8f858018 lw a1,-32744\(gp\)
+100002b8: 8ca50584 lw a1,1412\(a1\)
+100002bc: 8f858018 lw a1,-32744\(gp\)
+100002c0: 8ca50590 lw a1,1424\(a1\)
+100002c4: 8f858018 lw a1,-32744\(gp\)
100002c8: 00b12821 addu a1,a1,s1
-100002cc: 8ca50000 lw a1,0\(a1\)
-100002d0: 8f858068 lw a1,-32664\(gp\)
+100002cc: 8ca50584 lw a1,1412\(a1\)
+100002d0: 8f858018 lw a1,-32744\(gp\)
100002d4: 00b12821 addu a1,a1,s1
-100002d8: 8ca5000c lw a1,12\(a1\)
-100002dc: 8f818068 lw at,-32664\(gp\)
+100002d8: 8ca50590 lw a1,1424\(a1\)
+100002dc: 8f818018 lw at,-32744\(gp\)
100002e0: 00250821 addu at,at,a1
-100002e4: 8c250022 lw a1,34\(at\)
-100002e8: 8f818068 lw at,-32664\(gp\)
+100002e4: 8c2505a6 lw a1,1446\(at\)
+100002e8: 8f818018 lw at,-32744\(gp\)
100002ec: 00250821 addu at,at,a1
-100002f0: ac250038 sw a1,56\(at\)
+100002f0: ac2505bc sw a1,1468\(at\)
100002f4: 8f818068 lw at,-32664\(gp\)
100002f8: 88250000 lwl a1,0\(at\)
100002fc: 98250003 lwr a1,3\(at\)
@@ -193,20 +193,20 @@ Disassembly of section \.text:
10000374: 00b12821 addu a1,a1,s1
10000378: 8f85803c lw a1,-32708\(gp\)
1000037c: 00b12821 addu a1,a1,s1
-10000380: 8f858024 lw a1,-32732\(gp\)
+10000380: 8f858018 lw a1,-32744\(gp\)
10000384: 8ca50584 lw a1,1412\(a1\)
-10000388: 8f858024 lw a1,-32732\(gp\)
+10000388: 8f858018 lw a1,-32744\(gp\)
1000038c: 8ca50590 lw a1,1424\(a1\)
-10000390: 8f858024 lw a1,-32732\(gp\)
+10000390: 8f858018 lw a1,-32744\(gp\)
10000394: 00b12821 addu a1,a1,s1
10000398: 8ca50584 lw a1,1412\(a1\)
-1000039c: 8f858024 lw a1,-32732\(gp\)
+1000039c: 8f858018 lw a1,-32744\(gp\)
100003a0: 00b12821 addu a1,a1,s1
100003a4: 8ca50590 lw a1,1424\(a1\)
-100003a8: 8f818024 lw at,-32732\(gp\)
+100003a8: 8f818018 lw at,-32744\(gp\)
100003ac: 00250821 addu at,at,a1
100003b0: 8c2505a6 lw a1,1446\(at\)
-100003b4: 8f818024 lw at,-32732\(gp\)
+100003b4: 8f818018 lw at,-32744\(gp\)
100003b8: 00250821 addu at,at,a1
100003bc: ac2505bc sw a1,1468\(at\)
100003c0: 8f818034 lw at,-32716\(gp\)
@@ -243,24 +243,24 @@ Disassembly of section \.text:
1000043c: 00000000 nop
10000440: 1000ff17 b 100000a0 <fn>
10000444: 8f858064 lw a1,-32668\(gp\)
-10000448: 8f858068 lw a1,-32664\(gp\)
+10000448: 8f858018 lw a1,-32744\(gp\)
1000044c: 10000015 b 100004a4 <fn2>
-10000450: 8ca50000 lw a1,0\(a1\)
+10000450: 8ca50584 lw a1,1412\(a1\)
10000454: 1000ff12 b 100000a0 <fn>
-10000458: 8f858018 lw a1,-32744\(gp\)
+10000458: 8f85801c lw a1,-32740\(gp\)
1000045c: 8f858038 lw a1,-32712\(gp\)
10000460: 10000010 b 100004a4 <fn2>
10000464: 00000000 nop
-10000468: 8f858020 lw a1,-32736\(gp\)
+10000468: 8f858024 lw a1,-32732\(gp\)
1000046c: 1000ff0c b 100000a0 <fn>
10000470: 00000000 nop
-10000474: 8f858024 lw a1,-32732\(gp\)
+10000474: 8f858018 lw a1,-32744\(gp\)
10000478: 1000000a b 100004a4 <fn2>
1000047c: 8ca50584 lw a1,1412\(a1\)
-10000480: 8f858024 lw a1,-32732\(gp\)
+10000480: 8f858018 lw a1,-32744\(gp\)
10000484: 1000ff06 b 100000a0 <fn>
10000488: 8ca50518 lw a1,1304\(a1\)
-1000048c: 8f818024 lw at,-32732\(gp\)
+1000048c: 8f818018 lw at,-32744\(gp\)
10000490: 00250821 addu at,at,a1
10000494: 10000003 b 100004a4 <fn2>
10000498: 8c2505a6 lw a1,1446\(at\)
@@ -292,10 +292,10 @@ Disassembly of section \.got:
101005c0 <_GLOBAL_OFFSET_TABLE_>:
101005c0: 00000000 .*
101005c4: 80000000 .*
-101005c8: 1010050c .*
-101005cc: 10100518 .*
-101005d0: 1011e74c .*
-101005d4: 10100000 .*
+101005c8: 10100000 .*
+101005cc: 1010050c .*
+101005d0: 10100518 .*
+101005d4: 1011e74c .*
101005d8: 1010052e .*
101005dc: 10100544 .*
101005e0: 100000a0 .*
@@ -311,3 +311,4 @@ Disassembly of section \.got:
10100610: 100004a4 .*
10100614: 1010050c .*
10100618: 10100584 .*
+#pass
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d b/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
index 3e5114a..85d99b9 100644
--- a/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
+++ b/ld/testsuite/ld-mips-elf/elf-rel-got-n64-linux.d
@@ -22,8 +22,8 @@ Disassembly of section \.text:
1200000e4: df8580b8 ld a1,-32584\(gp\)
1200000e8: 64a5000c daddiu a1,a1,12
1200000ec: df8580b8 ld a1,-32584\(gp\)
- 1200000f0: 3c010002 lui at,0x2
- 1200000f4: 6421e240 daddiu at,at,-7616
+ 1200000f0: 3c010001 lui at,0x1
+ 1200000f4: 3421e240 ori at,at,0xe240
1200000f8: 00a1282d daddu a1,a1,at
1200000fc: df8580b8 ld a1,-32584\(gp\)
120000100: 00b1282d daddu a1,a1,s1
@@ -31,26 +31,26 @@ Disassembly of section \.text:
120000108: 64a5000c daddiu a1,a1,12
12000010c: 00b1282d daddu a1,a1,s1
120000110: df8580b8 ld a1,-32584\(gp\)
- 120000114: 3c010002 lui at,0x2
- 120000118: 6421e240 daddiu at,at,-7616
+ 120000114: 3c010001 lui at,0x1
+ 120000118: 3421e240 ori at,at,0xe240
12000011c: 00a1282d daddu a1,a1,at
120000120: 00b1282d daddu a1,a1,s1
- 120000124: df8580b8 ld a1,-32584\(gp\)
- 120000128: dca50000 ld a1,0\(a1\)
- 12000012c: df8580b8 ld a1,-32584\(gp\)
- 120000130: dca5000c ld a1,12\(a1\)
- 120000134: df8580b8 ld a1,-32584\(gp\)
+ 120000124: df858020 ld a1,-32736\(gp\)
+ 120000128: dca5052c ld a1,1324\(a1\)
+ 12000012c: df858020 ld a1,-32736\(gp\)
+ 120000130: dca50538 ld a1,1336\(a1\)
+ 120000134: df858020 ld a1,-32736\(gp\)
120000138: 00b1282d daddu a1,a1,s1
- 12000013c: dca50000 ld a1,0\(a1\)
- 120000140: df8580b8 ld a1,-32584\(gp\)
+ 12000013c: dca5052c ld a1,1324\(a1\)
+ 120000140: df858020 ld a1,-32736\(gp\)
120000144: 00b1282d daddu a1,a1,s1
- 120000148: dca5000c ld a1,12\(a1\)
- 12000014c: df8180b8 ld at,-32584\(gp\)
+ 120000148: dca50538 ld a1,1336\(a1\)
+ 12000014c: df818020 ld at,-32736\(gp\)
120000150: 0025082d daddu at,at,a1
- 120000154: dc250022 ld a1,34\(at\)
- 120000158: df8180b8 ld at,-32584\(gp\)
+ 120000154: dc25054e ld a1,1358\(at\)
+ 120000158: df818020 ld at,-32736\(gp\)
12000015c: 0025082d daddu at,at,a1
- 120000160: fc250038 sd a1,56\(at\)
+ 120000160: fc250564 sd a1,1380\(at\)
120000164: df8180b8 ld at,-32584\(gp\)
120000168: 88250000 lwl a1,0\(at\)
12000016c: 98250003 lwr a1,3\(at\)
@@ -77,42 +77,42 @@ Disassembly of section \.text:
1200001c0: 0025082d daddu at,at,a1
1200001c4: a8250000 swl a1,0\(at\)
1200001c8: b8250003 swr a1,3\(at\)
- 1200001cc: df858020 ld a1,-32736\(gp\)
- 1200001d0: df858028 ld a1,-32728\(gp\)
- 1200001d4: df858030 ld a1,-32720\(gp\)
- 1200001d8: df858020 ld a1,-32736\(gp\)
+ 1200001cc: df858028 ld a1,-32728\(gp\)
+ 1200001d0: df858030 ld a1,-32720\(gp\)
+ 1200001d4: df858038 ld a1,-32712\(gp\)
+ 1200001d8: df858028 ld a1,-32728\(gp\)
1200001dc: 00b1282d daddu a1,a1,s1
- 1200001e0: df858028 ld a1,-32728\(gp\)
+ 1200001e0: df858030 ld a1,-32720\(gp\)
1200001e4: 00b1282d daddu a1,a1,s1
- 1200001e8: df858030 ld a1,-32720\(gp\)
+ 1200001e8: df858038 ld a1,-32712\(gp\)
1200001ec: 00b1282d daddu a1,a1,s1
- 1200001f0: df858038 ld a1,-32712\(gp\)
+ 1200001f0: df858020 ld a1,-32736\(gp\)
1200001f4: dca5052c ld a1,1324\(a1\)
- 1200001f8: df858038 ld a1,-32712\(gp\)
+ 1200001f8: df858020 ld a1,-32736\(gp\)
1200001fc: dca50538 ld a1,1336\(a1\)
- 120000200: df858038 ld a1,-32712\(gp\)
+ 120000200: df858020 ld a1,-32736\(gp\)
120000204: 00b1282d daddu a1,a1,s1
120000208: dca5052c ld a1,1324\(a1\)
- 12000020c: df858038 ld a1,-32712\(gp\)
+ 12000020c: df858020 ld a1,-32736\(gp\)
120000210: 00b1282d daddu a1,a1,s1
120000214: dca50538 ld a1,1336\(a1\)
- 120000218: df818038 ld at,-32712\(gp\)
+ 120000218: df818020 ld at,-32736\(gp\)
12000021c: 0025082d daddu at,at,a1
120000220: dc25054e ld a1,1358\(at\)
- 120000224: df818038 ld at,-32712\(gp\)
+ 120000224: df818020 ld at,-32736\(gp\)
120000228: 0025082d daddu at,at,a1
12000022c: fc250564 sd a1,1380\(at\)
- 120000230: df818020 ld at,-32736\(gp\)
+ 120000230: df818028 ld at,-32728\(gp\)
120000234: 88250000 lwl a1,0\(at\)
120000238: 98250003 lwr a1,3\(at\)
- 12000023c: df818028 ld at,-32728\(gp\)
+ 12000023c: df818030 ld at,-32720\(gp\)
120000240: 88250000 lwl a1,0\(at\)
120000244: 98250003 lwr a1,3\(at\)
- 120000248: df818020 ld at,-32736\(gp\)
+ 120000248: df818028 ld at,-32728\(gp\)
12000024c: 0031082d daddu at,at,s1
120000250: 88250000 lwl a1,0\(at\)
120000254: 98250003 lwr a1,3\(at\)
- 120000258: df818028 ld at,-32728\(gp\)
+ 120000258: df818030 ld at,-32720\(gp\)
12000025c: 0031082d daddu at,at,s1
120000260: 88250000 lwl a1,0\(at\)
120000264: 98250003 lwr a1,3\(at\)
@@ -138,8 +138,8 @@ Disassembly of section \.text:
1200002b4: df8580c0 ld a1,-32576\(gp\)
1200002b8: 64a5000c daddiu a1,a1,12
1200002bc: df8580c0 ld a1,-32576\(gp\)
- 1200002c0: 3c010002 lui at,0x2
- 1200002c4: 6421e240 daddiu at,at,-7616
+ 1200002c0: 3c010001 lui at,0x1
+ 1200002c4: 3421e240 ori at,at,0xe240
1200002c8: 00a1282d daddu a1,a1,at
1200002cc: df8580c0 ld a1,-32576\(gp\)
1200002d0: 00b1282d daddu a1,a1,s1
@@ -147,26 +147,26 @@ Disassembly of section \.text:
1200002d8: 64a5000c daddiu a1,a1,12
1200002dc: 00b1282d daddu a1,a1,s1
1200002e0: df8580c0 ld a1,-32576\(gp\)
- 1200002e4: 3c010002 lui at,0x2
- 1200002e8: 6421e240 daddiu at,at,-7616
+ 1200002e4: 3c010001 lui at,0x1
+ 1200002e8: 3421e240 ori at,at,0xe240
1200002ec: 00a1282d daddu a1,a1,at
1200002f0: 00b1282d daddu a1,a1,s1
- 1200002f4: df8580c0 ld a1,-32576\(gp\)
- 1200002f8: dca50000 ld a1,0\(a1\)
- 1200002fc: df8580c0 ld a1,-32576\(gp\)
- 120000300: dca5000c ld a1,12\(a1\)
- 120000304: df8580c0 ld a1,-32576\(gp\)
+ 1200002f4: df858020 ld a1,-32736\(gp\)
+ 1200002f8: dca505a4 ld a1,1444\(a1\)
+ 1200002fc: df858020 ld a1,-32736\(gp\)
+ 120000300: dca505b0 ld a1,1456\(a1\)
+ 120000304: df858020 ld a1,-32736\(gp\)
120000308: 00b1282d daddu a1,a1,s1
- 12000030c: dca50000 ld a1,0\(a1\)
- 120000310: df8580c0 ld a1,-32576\(gp\)
+ 12000030c: dca505a4 ld a1,1444\(a1\)
+ 120000310: df858020 ld a1,-32736\(gp\)
120000314: 00b1282d daddu a1,a1,s1
- 120000318: dca5000c ld a1,12\(a1\)
- 12000031c: df8180c0 ld at,-32576\(gp\)
+ 120000318: dca505b0 ld a1,1456\(a1\)
+ 12000031c: df818020 ld at,-32736\(gp\)
120000320: 0025082d daddu at,at,a1
- 120000324: dc250022 ld a1,34\(at\)
- 120000328: df8180c0 ld at,-32576\(gp\)
+ 120000324: dc2505c6 ld a1,1478\(at\)
+ 120000328: df818020 ld at,-32736\(gp\)
12000032c: 0025082d daddu at,at,a1
- 120000330: fc250038 sd a1,56\(at\)
+ 120000330: fc2505dc sd a1,1500\(at\)
120000334: df8180c0 ld at,-32576\(gp\)
120000338: 88250000 lwl a1,0\(at\)
12000033c: 98250003 lwr a1,3\(at\)
@@ -202,20 +202,20 @@ Disassembly of section \.text:
1200003b4: 00b1282d daddu a1,a1,s1
1200003b8: df858068 ld a1,-32664\(gp\)
1200003bc: 00b1282d daddu a1,a1,s1
- 1200003c0: df858038 ld a1,-32712\(gp\)
+ 1200003c0: df858020 ld a1,-32736\(gp\)
1200003c4: dca505a4 ld a1,1444\(a1\)
- 1200003c8: df858038 ld a1,-32712\(gp\)
+ 1200003c8: df858020 ld a1,-32736\(gp\)
1200003cc: dca505b0 ld a1,1456\(a1\)
- 1200003d0: df858038 ld a1,-32712\(gp\)
+ 1200003d0: df858020 ld a1,-32736\(gp\)
1200003d4: 00b1282d daddu a1,a1,s1
1200003d8: dca505a4 ld a1,1444\(a1\)
- 1200003dc: df858038 ld a1,-32712\(gp\)
+ 1200003dc: df858020 ld a1,-32736\(gp\)
1200003e0: 00b1282d daddu a1,a1,s1
1200003e4: dca505b0 ld a1,1456\(a1\)
- 1200003e8: df818038 ld at,-32712\(gp\)
+ 1200003e8: df818020 ld at,-32736\(gp\)
1200003ec: 0025082d daddu at,at,a1
1200003f0: dc2505c6 ld a1,1478\(at\)
- 1200003f4: df818038 ld at,-32712\(gp\)
+ 1200003f4: df818020 ld at,-32736\(gp\)
1200003f8: 0025082d daddu at,at,a1
1200003fc: fc2505dc sd a1,1500\(at\)
120000400: df818058 ld at,-32680\(gp\)
@@ -252,24 +252,24 @@ Disassembly of section \.text:
12000047c: 00000000 nop
120000480: 1000ff17 b 1200000e0 <fn>
120000484: df8580b8 ld a1,-32584\(gp\)
- 120000488: df8580c0 ld a1,-32576\(gp\)
+ 120000488: df858020 ld a1,-32736\(gp\)
12000048c: 10000015 b 1200004e4 <fn2>
- 120000490: dca50000 ld a1,0\(a1\)
+ 120000490: dca505a4 ld a1,1444\(a1\)
120000494: 1000ff12 b 1200000e0 <fn>
- 120000498: df858020 ld a1,-32736\(gp\)
+ 120000498: df858028 ld a1,-32728\(gp\)
12000049c: df858060 ld a1,-32672\(gp\)
1200004a0: 10000010 b 1200004e4 <fn2>
1200004a4: 00000000 nop
- 1200004a8: df858030 ld a1,-32720\(gp\)
+ 1200004a8: df858038 ld a1,-32712\(gp\)
1200004ac: 1000ff0c b 1200000e0 <fn>
1200004b0: 00000000 nop
- 1200004b4: df858038 ld a1,-32712\(gp\)
+ 1200004b4: df858020 ld a1,-32736\(gp\)
1200004b8: 1000000a b 1200004e4 <fn2>
1200004bc: dca505a4 ld a1,1444\(a1\)
- 1200004c0: df858038 ld a1,-32712\(gp\)
+ 1200004c0: df858020 ld a1,-32736\(gp\)
1200004c4: 1000ff06 b 1200000e0 <fn>
1200004c8: dca50538 ld a1,1336\(a1\)
- 1200004cc: df818038 ld at,-32712\(gp\)
+ 1200004cc: df818020 ld at,-32736\(gp\)
1200004d0: 0025082d daddu at,at,a1
1200004d4: 10000003 b 1200004e4 <fn2>
1200004d8: dc2505c6 ld a1,1478\(at\)
@@ -296,13 +296,13 @@ Disassembly of section \.got:
\.\.\.
1201005ec: 80000000 .*
1201005f0: 00000001 .*
- 1201005f4: 2010052c .*
+ 1201005f4: 20100000 .*
1201005f8: 00000001 .*
- 1201005fc: 20100538 .*
+ 1201005fc: 2010052c .*
120100600: 00000001 .*
- 120100604: 2011e76c .*
+ 120100604: 20100538 .*
120100608: 00000001 .*
- 12010060c: 20100000 .*
+ 12010060c: 2011e76c .*
120100610: 00000001 .*
120100614: 2010054e .*
120100618: 00000001 .*
@@ -330,3 +330,4 @@ Disassembly of section \.got:
12010068c: 2010052c .*
120100690: 00000001 .*
120100694: 201005a4 .*
+#pass
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
index 23a404a..28ecdca 100644
--- a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
+++ b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n32.d
@@ -19,8 +19,8 @@ Disassembly of section \.text:
100000bc: 3c050000 lui a1,0x0
100000c0: 00bc2821 addu a1,a1,gp
100000c4: 8ca58034 lw a1,-32716\(a1\)
-100000c8: 3c010002 lui at,0x2
-100000cc: 2421e240 addiu at,at,-7616
+100000c8: 3c010001 lui at,0x1
+100000cc: 3421e240 ori at,at,0xe240
100000d0: 00a12821 addu a1,a1,at
100000d4: 3c050000 lui a1,0x0
100000d8: 00bc2821 addu a1,a1,gp
@@ -34,8 +34,8 @@ Disassembly of section \.text:
100000f8: 3c050000 lui a1,0x0
100000fc: 00bc2821 addu a1,a1,gp
10000100: 8ca58034 lw a1,-32716\(a1\)
-10000104: 3c010002 lui at,0x2
-10000108: 2421e240 addiu at,at,-7616
+10000104: 3c010001 lui at,0x1
+10000108: 3421e240 ori at,at,0xe240
1000010c: 00a12821 addu a1,a1,at
10000110: 00b12821 addu a1,a1,s1
10000114: 3c050000 lui a1,0x0
@@ -192,8 +192,8 @@ Disassembly of section \.text:
10000370: 3c050000 lui a1,0x0
10000374: 00bc2821 addu a1,a1,gp
10000378: 8ca58038 lw a1,-32712\(a1\)
-1000037c: 3c010002 lui at,0x2
-10000380: 2421e240 addiu at,at,-7616
+1000037c: 3c010001 lui at,0x1
+10000380: 3421e240 ori at,at,0xe240
10000384: 00a12821 addu a1,a1,at
10000388: 3c050000 lui a1,0x0
1000038c: 00bc2821 addu a1,a1,gp
@@ -207,8 +207,8 @@ Disassembly of section \.text:
100003ac: 3c050000 lui a1,0x0
100003b0: 00bc2821 addu a1,a1,gp
100003b4: 8ca58038 lw a1,-32712\(a1\)
-100003b8: 3c010002 lui at,0x2
-100003bc: 2421e240 addiu at,at,-7616
+100003b8: 3c010001 lui at,0x1
+100003bc: 3421e240 ori at,at,0xe240
100003c0: 00a12821 addu a1,a1,at
100003c4: 00b12821 addu a1,a1,s1
100003c8: 3c050000 lui a1,0x0
@@ -425,3 +425,4 @@ Disassembly of section \.got:
101007d0: 100006a0 .*
101007d4: 101006fc .*
101007d8: 10100774 .*
+#pass
diff --git a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
index 1424ecf..04c633b 100644
--- a/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
+++ b/ld/testsuite/ld-mips-elf/elf-rel-xgot-n64-linux.d
@@ -28,8 +28,8 @@ Disassembly of section \.text:
1200000fc: 3c050000 lui a1,0x0
120000100: 00bc282d daddu a1,a1,gp
120000104: dca58058 ld a1,-32680\(a1\)
- 120000108: 3c010002 lui at,0x2
- 12000010c: 6421e240 daddiu at,at,-7616
+ 120000108: 3c010001 lui at,0x1
+ 12000010c: 3421e240 ori at,at,0xe240
120000110: 00a1282d daddu a1,a1,at
120000114: 3c050000 lui a1,0x0
120000118: 00bc282d daddu a1,a1,gp
@@ -43,8 +43,8 @@ Disassembly of section \.text:
120000138: 3c050000 lui a1,0x0
12000013c: 00bc282d daddu a1,a1,gp
120000140: dca58058 ld a1,-32680\(a1\)
- 120000144: 3c010002 lui at,0x2
- 120000148: 6421e240 daddiu at,at,-7616
+ 120000144: 3c010001 lui at,0x1
+ 120000148: 3421e240 ori at,at,0xe240
12000014c: 00a1282d daddu a1,a1,at
120000150: 00b1282d daddu a1,a1,s1
120000154: 3c050000 lui a1,0x0
@@ -201,8 +201,8 @@ Disassembly of section \.text:
1200003b0: 3c050000 lui a1,0x0
1200003b4: 00bc282d daddu a1,a1,gp
1200003b8: dca58060 ld a1,-32672\(a1\)
- 1200003bc: 3c010002 lui at,0x2
- 1200003c0: 6421e240 daddiu at,at,-7616
+ 1200003bc: 3c010001 lui at,0x1
+ 1200003c0: 3421e240 ori at,at,0xe240
1200003c4: 00a1282d daddu a1,a1,at
1200003c8: 3c050000 lui a1,0x0
1200003cc: 00bc282d daddu a1,a1,gp
@@ -216,8 +216,8 @@ Disassembly of section \.text:
1200003ec: 3c050000 lui a1,0x0
1200003f0: 00bc282d daddu a1,a1,gp
1200003f4: dca58060 ld a1,-32672\(a1\)
- 1200003f8: 3c010002 lui at,0x2
- 1200003fc: 6421e240 daddiu at,at,-7616
+ 1200003f8: 3c010001 lui at,0x1
+ 1200003fc: 3421e240 ori at,at,0xe240
120000400: 00a1282d daddu a1,a1,at
120000404: 00b1282d daddu a1,a1,s1
120000408: 3c050000 lui a1,0x0
@@ -434,3 +434,4 @@ Disassembly of section \.got:
12010081c: 2010071c .*
120100820: 00000001 .*
120100824: 20100794 .*
+#pass