• R/O
  • HTTP
  • SSH
  • HTTPS

提交

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


Commit MetaInfo

修訂a5499fa4649e4325cf46edfff2f24dae2fe2afef (tree)
時間2015-06-26 19:53:33
作者Matthew Fortune <matthew.fortune@imgt...>
CommiterMatthew Fortune

Log Message

Add support for DT_MIPS_RLD_MAP_REL.

This tag makes it possible to access the debug map when debugging position
independent executables.

bfd/

* elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
instead of !shared to indicate an application vs shared library.
(_bfd_mips_elf_size_dynamic_sections): Likewise.
(_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
(_bfd_mips_elf_get_target_dtag): Likewise.

binutils/

* readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.

include/

* elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.

ld/testsuite/

* ld-mips-elf/pic-and-nonpic-3b.ad: Adjust for extra dynamic tag.
* ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
* ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
* ld-mips-elf/tlsdyn-o32-1.d: Likewise.
* ld-mips-elf/tlsdyn-o32-1.got: Likewise.
* ld-mips-elf/tlsdyn-o32-2.d: Likewise.
* ld-mips-elf/tlsdyn-o32-2.got: Likewise.
* ld-mips-elf/tlsdyn-o32-3.d: Likewise.
* ld-mips-elf/tlsdyn-o32-3.got: Likewise.
* ld-mips-elf/tlsdyn-o32.d: Likewise.
* ld-mips-elf/tlsdyn-o32.got: Likewise.
* ld-mips-elf/pie-n32.d: New file.
* ld-mips-elf/pie-n64.d: Likewise.
* ld-mips-elf/pie-o32.d: Likewise.
* ld-mips-elf/pie.s: Likewise.
* ld-mips-elf/mips-elf.exp: Add new tests.

Change Summary

差異

--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
1+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
2+
3+ * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
4+ instead of !shared to indicate an application vs shared library.
5+ (_bfd_mips_elf_size_dynamic_sections): Likewise.
6+ (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
7+ (_bfd_mips_elf_get_target_dtag): Likewise.
8+
19 2015-06-25 DJ Delorie <dj@redhat.com>
210
311 * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -7614,7 +7614,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
76147614 htab->sstubs = s;
76157615
76167616 if (!mips_elf_hash_table (info)->use_rld_obj_head
7617- && !info->shared
7617+ && info->executable
76187618 && bfd_get_linker_section (abfd, ".rld_map") == NULL)
76197619 {
76207620 s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
@@ -7678,7 +7678,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
76787678 (void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
76797679 }
76807680
7681- if (!info->shared)
7681+ if (info->executable)
76827682 {
76837683 const char *name;
76847684
@@ -9719,7 +9719,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
97199719 info->combreloc = 0;
97209720 }
97219721 }
9722- else if (! info->shared
9722+ else if (info->executable
97239723 && ! mips_elf_hash_table (info)->use_rld_obj_head
97249724 && CONST_STRNEQ (name, ".rld_map"))
97259725 {
@@ -9782,6 +9782,10 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
97829782 && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0))
97839783 return FALSE;
97849784
9785+ if (info->executable
9786+ && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP_REL, 0))
9787+ return FALSE;
9788+
97859789 /* The DT_DEBUG entry may be filled in by the dynamic linker and
97869790 used by the debugger. */
97879791 if (info->executable
@@ -11487,11 +11491,37 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
1148711491 break;
1148811492 }
1148911493 s = h->root.u.def.section;
11494+
11495+ /* The MIPS_RLD_MAP tag stores the absolute address of the
11496+ debug pointer. */
1149011497 dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
1149111498 + h->root.u.def.value);
1149211499 }
1149311500 break;
1149411501
11502+ case DT_MIPS_RLD_MAP_REL:
11503+ {
11504+ struct elf_link_hash_entry *h;
11505+ bfd_vma dt_addr, rld_addr;
11506+ h = mips_elf_hash_table (info)->rld_symbol;
11507+ if (!h)
11508+ {
11509+ dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
11510+ swap_out_p = FALSE;
11511+ break;
11512+ }
11513+ s = h->root.u.def.section;
11514+
11515+ /* The MIPS_RLD_MAP_REL tag stores the offset to the debug
11516+ pointer, relative to the address of the tag. */
11517+ dt_addr = (sdyn->output_section->vma + sdyn->output_offset
11518+ + b - sdyn->contents);
11519+ rld_addr = (s->output_section->vma + s->output_offset
11520+ + h->root.u.def.value);
11521+ dyn.d_un.d_ptr = rld_addr - dt_addr;
11522+ }
11523+ break;
11524+
1149511525 case DT_MIPS_OPTIONS:
1149611526 s = (bfd_get_section_by_name
1149711527 (output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
@@ -15421,6 +15451,8 @@ _bfd_mips_elf_get_target_dtag (bfd_vma dtag)
1542115451 return "MIPS_HIPAGENO";
1542215452 case DT_MIPS_RLD_MAP:
1542315453 return "MIPS_RLD_MAP";
15454+ case DT_MIPS_RLD_MAP_REL:
15455+ return "MIPS_RLD_MAP_REL";
1542415456 case DT_MIPS_DELTA_CLASS:
1542515457 return "MIPS_DELTA_CLASS";
1542615458 case DT_MIPS_DELTA_CLASS_NO:
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
1+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
2+
3+ * readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.
4+
15 2015-06-22 Nick Clifton <nickc@redhat.com>
26
37 * objdump.c (disassemble_bytes): Set the stop_vma field in the
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1695,6 +1695,7 @@ get_mips_dynamic_type (unsigned long type)
16951695 case DT_MIPS_GOTSYM: return "MIPS_GOTSYM";
16961696 case DT_MIPS_HIPAGENO: return "MIPS_HIPAGENO";
16971697 case DT_MIPS_RLD_MAP: return "MIPS_RLD_MAP";
1698+ case DT_MIPS_RLD_MAP_REL: return "MIPS_RLD_MAP_REL";
16981699 case DT_MIPS_DELTA_CLASS: return "MIPS_DELTA_CLASS";
16991700 case DT_MIPS_DELTA_CLASS_NO: return "MIPS_DELTA_CLASS_NO";
17001701 case DT_MIPS_DELTA_INSTANCE: return "MIPS_DELTA_INSTANCE";
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
1+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
2+
3+ * elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.
4+
15 2015-06-22 Nick Clifton <nickc@redhat.com>
26
37 * dis-asm.h (struct disassemble_info): Add stop_vma field.
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -748,6 +748,9 @@ extern void bfd_mips_elf32_swap_reginfo_out
748748
749749 /* Points to the base of a writable PLT. */
750750 #define DT_MIPS_RWPLT 0x70000034
751+
752+/* Relative offset of run time loader map, used for debugging. */
753+#define DT_MIPS_RLD_MAP_REL 0x70000035
751754
752755 /* Flags which may appear in a DT_MIPS_FLAGS entry. */
753756
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,25 @@
1+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
2+
3+ * ld-mips-elf/pic-and-nonpic-3b.ad: Adjust for extra dynamic tag.
4+ * ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
5+ * ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
6+ * ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
7+ * ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
8+ * ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
9+ * ld-mips-elf/tlsdyn-o32-1.d: Likewise.
10+ * ld-mips-elf/tlsdyn-o32-1.got: Likewise.
11+ * ld-mips-elf/tlsdyn-o32-2.d: Likewise.
12+ * ld-mips-elf/tlsdyn-o32-2.got: Likewise.
13+ * ld-mips-elf/tlsdyn-o32-3.d: Likewise.
14+ * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
15+ * ld-mips-elf/tlsdyn-o32.d: Likewise.
16+ * ld-mips-elf/tlsdyn-o32.got: Likewise.
17+ * ld-mips-elf/pie-n32.d: New file.
18+ * ld-mips-elf/pie-n64.d: Likewise.
19+ * ld-mips-elf/pie-o32.d: Likewise.
20+ * ld-mips-elf/pie.s: Likewise.
21+ * ld-mips-elf/mips-elf.exp: Add new tests.
22+
123 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
224
325 * ld-elf/strtab.d: Only run on *-*-linux* and *-*-gnu* targets.
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -186,6 +186,15 @@ if { $linux_gnu } {
186186 }
187187 }
188188
189+# Test PIE debug dynamic tags
190+if { $linux_gnu } {
191+ run_dump_test "pie-o32"
192+ if { $has_newabi } {
193+ run_dump_test "pie-n32"
194+ run_dump_test "pie-n64"
195+ }
196+}
197+
189198 if $has_newabi {
190199 if { $embedded_elf } {
191200 run_dump_test "elf-rel-got-n32-embed" \
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
88 0x0000000a \(STRSZ\) .*
99 0x0000000b \(SYMENT\) .*
1010 0x70000016 \(MIPS_RLD_MAP\) * 0x80000
11+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
1112 0x00000015 \(DEBUG\) * 0x0
1213 0x00000003 \(PLTGOT\) * 0xa0000
1314 0x70000001 \(MIPS_RLD_VERSION\) * 1
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
88 0x0000000a \(STRSZ\) .*
99 0x0000000b \(SYMENT\) .*
1010 0x70000016 \(MIPS_RLD_MAP\) * 0x80000
11+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
1112 0x00000015 \(DEBUG\) * 0x0
1213 0x00000003 \(PLTGOT\) * 0xa0000
1314 0x00000011 \(REL\) * 0x43000
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
@@ -9,6 +9,7 @@ Dynamic section at offset .* contains .*:
99 0x0000000a \(STRSZ\) .*
1010 0x0000000b \(SYMENT\) .*
1111 0x70000016 \(MIPS_RLD_MAP\) * 0x80000
12+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
1213 0x00000015 \(DEBUG\) * 0x0
1314 0x00000016 \(TEXTREL\) * 0x0
1415 0x00000003 \(PLTGOT\) * 0xa0000
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
88 0x0000000a \(STRSZ\) .*
99 0x0000000b \(SYMENT\) .*
1010 0x70000016 \(MIPS_RLD_MAP\) * 0x80000
11+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
1112 0x00000015 \(DEBUG\) * 0x0
1213 0x00000003 \(PLTGOT\) * 0xa0000
1314 0x00000011 \(REL\) * 0x43000
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
88 0x0+0000000a \(STRSZ\) .*
99 0x0+0000000b \(SYMENT\) .*
1010 0x0+70000016 \(MIPS_RLD_MAP\) * 0x80000
11+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) .*
1112 0x0+00000015 \(DEBUG\) * 0x0
1213 0x0+00000003 \(PLTGOT\) * 0xa0000
1314 0x0+00000011 \(REL\) * 0x43000
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
88 0x0000000a \(STRSZ\) .*
99 0x0000000b \(SYMENT\) .*
1010 0x70000016 \(MIPS_RLD_MAP\) * 0x80000
11+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
1112 0x00000015 \(DEBUG\) * 0x0
1213 0x00000003 \(PLTGOT\) * 0xa0000
1314 0x00000011 \(REL\) * 0x43000
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-n32.d
@@ -0,0 +1,23 @@
1+#source: pie.s
2+#as: -march=from-abi -mabi=n32 -EB
3+#ld: -melf32btsmipn32 -pie
4+#readelf: -d
5+
6+Dynamic section at offset 0x180 contains 16 entries:
7+ Tag * Type * Name/Value
8+ 0x00000004 \(HASH\) * 0x228
9+ 0x00000005 \(STRTAB\) * 0x304
10+ 0x00000006 \(SYMTAB\) * 0x264
11+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
12+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
13+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101b8
14+ 0x00000015 \(DEBUG\) * 0x0
15+ 0x00000003 \(PLTGOT\) * 0x10370
16+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
17+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
18+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
19+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
20+ 0x70000011 \(MIPS_SYMTABNO\) * 10
21+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
22+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
23+ 0x00000000 \(NULL\) * 0x0
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-n64.d
@@ -0,0 +1,23 @@
1+#source: pie.s
2+#as: -march=from-abi -mabi=64 -EB
3+#ld: -melf64btsmip -pie
4+#readelf: -d
5+
6+Dynamic section at offset 0x208 contains 16 entries:
7+ Tag * Type * Name/Value
8+ 0x0+00000004 \(HASH\) * 0x358
9+ 0x0+00000005 \(STRTAB\) * 0x488
10+ 0x0+00000006 \(SYMTAB\) * 0x398
11+ 0x0+0000000a \(STRSZ\) * 72 \(bytes\)
12+ 0x0+0000000b \(SYMENT\) * 24 \(bytes\)
13+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) * 0x102a8
14+ 0x0+00000015 \(DEBUG\) * 0x0
15+ 0x0+00000003 \(PLTGOT\) * 0x10510
16+ 0x0+70000001 \(MIPS_RLD_VERSION\) * 1
17+ 0x0+70000005 \(MIPS_FLAGS\) * NOTPOT
18+ 0x0+70000006 \(MIPS_BASE_ADDRESS\) * 0x0
19+ 0x0+7000000a \(MIPS_LOCAL_GOTNO\) * 2
20+ 0x0+70000011 \(MIPS_SYMTABNO\) * 10
21+ 0x0+70000012 \(MIPS_UNREFEXTNO\) * 13
22+ 0x0+70000013 \(MIPS_GOTSYM\) * 0xa
23+ 0x0+00000000 \(NULL\) * 0x0
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-o32.d
@@ -0,0 +1,23 @@
1+#source: pie.s
2+#as: -mabi=32 -EB
3+#ld: -melf32btsmip -pie
4+#readelf: -d
5+
6+Dynamic section at offset 0x178 contains 16 entries:
7+ Tag * Type * Name/Value
8+ 0x00000004 \(HASH\) * 0x220
9+ 0x00000005 \(STRTAB\) * 0x2fc
10+ 0x00000006 \(SYMTAB\) * 0x25c
11+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
12+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
13+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101c0
14+ 0x00000015 \(DEBUG\) * 0x0
15+ 0x00000003 \(PLTGOT\) * 0x10370
16+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
17+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
18+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
19+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
20+ 0x70000011 \(MIPS_SYMTABNO\) * 10
21+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
22+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
23+ 0x00000000 \(NULL\) * 0x0
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie.s
@@ -0,0 +1,6 @@
1+ .abicalls
2+ .global __start
3+ .ent __start
4+__start:
5+ jr $31
6+ .end __start
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
55
66 .* <__start>:
77 .*: 3c1c0fc0 lui gp,0xfc0
8- .*: 279c7c40 addiu gp,gp,31808
8+ .*: 279c7c30 addiu gp,gp,31792
99 .*: 0399e021 addu gp,gp,t9
1010 .*: 27bdfff0 addiu sp,sp,-16
1111 .*: afbe0008 sw s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
5555
5656 .* <other>:
5757 .*: 3c1c0fc0 lui gp,0xfc0
58- .*: 279c7b80 addiu gp,gp,31616
58+ .*: 279c7b70 addiu gp,gp,31600
5959 .*: 0399e021 addu gp,gp,t9
6060 .*: 27bdfff0 addiu sp,sp,-16
6161 .*: afbe0008 sw s8,8\(sp\)
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
1313
1414
1515 Contents of section .got:
16- 10000020 00000000 80000000 0040047c 00000000 ................
16+ 10000020 00000000 80000000 0040048c 00000000 .........@......
1717 10000030 00000000 00000000 00000000 00000000 ................
1818 10000040 00000000 00000001 00000000 ............
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
55
66 .* <__start>:
77 .*: 3c1c0fc0 lui gp,0xfc0
8- .*: 279c7c40 addiu gp,gp,31808
8+ .*: 279c7c30 addiu gp,gp,31792
99 .*: 0399e021 addu gp,gp,t9
1010 .*: 27bdfff0 addiu sp,sp,-16
1111 .*: afbe0008 sw s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
5555
5656 .* <other>:
5757 .*: 3c1c0fc0 lui gp,0xfc0
58- .*: 279c7b80 addiu gp,gp,31616
58+ .*: 279c7b70 addiu gp,gp,31600
5959 .*: 0399e021 addu gp,gp,t9
6060 .*: 27bdfff0 addiu sp,sp,-16
6161 .*: afbe0008 sw s8,8\(sp\)
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
1313
1414
1515 Contents of section .got:
16- 10000020 00000000 80000000 0040047c 00000000 .*
16+ 10000020 00000000 80000000 0040048c 00000000 .*
1717 10000030 00000000 00000000 00000000 00000000 .*
1818 10000040 00000000 00000001 00000000 .*
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
55
66 .* <other>:
77 .*: 3c1c0fc0 lui gp,0xfc0
8- .*: 279c7c40 addiu gp,gp,31808
8+ .*: 279c7c30 addiu gp,gp,31792
99 .*: 0399e021 addu gp,gp,t9
1010 .*: 27bdfff0 addiu sp,sp,-16
1111 .*: afbe0008 sw s8,8\(sp\)
@@ -51,7 +51,7 @@ Disassembly of section .text:
5151
5252 .* <__start>:
5353 .*: 3c1c0fc0 lui gp,0xfc0
54- .*: 279c7b90 addiu gp,gp,31632
54+ .*: 279c7b80 addiu gp,gp,31616
5555 .*: 0399e021 addu gp,gp,t9
5656 .*: 27bdfff0 addiu sp,sp,-16
5757 .*: afbe0008 sw s8,8\(sp\)
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
1313
1414
1515 Contents of section .got:
16- 10000020 00000000 80000000 0040052c 00000000 .*
16+ 10000020 00000000 80000000 0040053c 00000000 .*
1717 10000030 00000000 00000000 00000000 00000000 .*
1818 10000040 00000000 00000001 00000000 .*
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
55
66 .* <__start>:
77 .*: 3c1c0fc0 lui gp,0xfc0
8- .*: 279c7bf0 addiu gp,gp,31728
8+ .*: 279c7be0 addiu gp,gp,31712
99 .*: 0399e021 addu gp,gp,t9
1010 .*: 27bdfff0 addiu sp,sp,-16
1111 .*: afbe0008 sw s8,8\(sp\)
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
1313
1414
1515 Contents of section .got:
16- 10000020 00000000 80000000 004004cc 00000000 ................
16+ 10000020 00000000 80000000 004004dc 00000000 .........@......
1717 10000030 00000000 00000000 00000001 00000000 ................
1818 10000040 00000000 00000000 00000000 ............