aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2007-11-14 20:46:15 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2007-11-14 20:46:15 +0000
commitc224138d88196fe7cabce4fe554c10a1520f5a4f (patch)
treed70ed2d76daa6b13ed8bd8eb10e2e23e1b60eeda /ld
parent51a0dd312ea996c87f576fea04ca5d0db5826411 (diff)
downloadgdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.zip
gdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.tar.gz
gdb-c224138d88196fe7cabce4fe554c10a1520f5a4f.tar.bz2
bfd/
2007-09-18 Richard Sandiford <richard@codesourcery.com> * elfxx-mips.c (mips_got_page_range): New structure. (mips_got_page_entry): Likewise. (mips_got_info): Add page_gotno and got_page_entries fields. (mips_elf_got_per_bfd_arg): Add max_pages field. Delete primary_count and current_count fields. (mips_got_page_entry_hash, mips_got_page_entry_eq): New functions. (mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise. (mips_elf_get_got_for_bfd): New function, split out from mips_elf_make_got_per_bfd. Initialize the page_gotno and got_page_entries fields when creating a new GOT structure. (mips_elf_make_got_pages_per_bfd): New function. (mips_elf_merge_got_with): New function, split out from mips_elf_make_got_per_bfd. Merge page entries as well as non-page entries. Use the minimum of max_pages and the sum of the page_gotnos to estimate the number of page entries. (mips_elf_merge_gots): Use the minimum of max_pages and the bfd's page_gotno to estimate the number of page entries. Use the above functions. (mips_elf_multi_got): Add page entries as well as non-page entries to the individual per-bfd GOTs. Initialize got_per_bfd_arg.max_pages. Initialize the page_gotno and got_page_entries fields when creating a new primary GOT. Use the minimum of pages and page_gotno when adding the number of pages entries to local_gotno. (mips_elf_create_got_section): Initialize the page_gotno and got_page_entries fields of the GOT structure. (mips_elf_rel_relocation_p, mips_elf_read_rel_addend) (mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New functions, split out from... (_bfd_mips_elf_relocate_section): ...here. (_bfd_mips_elf_check_relocs): Record GOT page entries too. (_bfd_mips_relax_section): Use mips_elf_get_section_contents. (_bfd_mips_elf_always_size_sections): Use the smaller of the loadable_size- and page_gotno-derived estimates. ld/testsuite/ 2007-09-18 Richard Sandiford <richard@codesourcery.com> Joseph Myers <joseph@codesourcery.com> * ld-mips-elf/got-page-1.d, ld-mips-elf/got-page-1.s, * ld-mips-elf/got-page-2.d, ld-mips-elf/got-page-2.s, * ld-mips-elf/got-page-3.d, ld-mips-elf/got-page-3a.s, * ld-mips-elf/got-page-3b.s, ld-mips-elf/got-page-3c.s, * ld-mips-elf/got-page-1.ld: New tests. * ld-mips-elf/mips-elf.exp: Run them. * ld-mips-elf/multi-got-1.d, ld-mips-elf/multi-got-no-shared.d, * ld-mips-elf/tls-hidden2-got.d, ld-mips-elf/tls-hidden2.d, * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got, * ld-mips-elf/tls-hidden3.r, ld-mips-elf/tls-hidden4.got, * ld-mips-elf/tls-hidden4.r, ld-mips-elf/tls-multi-got-1.d, * ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r, * ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got, * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got, * ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got, * ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got, * ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got, * ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got, * ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got: Update for GOT allocation changes.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog24
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-1.d10
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-1.ld31
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-1.s46
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-2.d11
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-2.s46
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-3.d26
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-3a.s58
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-3b.s11
-rw-r--r--ld/testsuite/ld-mips-elf/got-page-3c.s11
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp5
-rw-r--r--ld/testsuite/ld-mips-elf/multi-got-1.d2
-rw-r--r--ld/testsuite/ld-mips-elf/multi-got-no-shared.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden2-got.d3
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden2.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden3.d16
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden3.got5
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden3.r10
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden4.got6
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden4.r16
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.d12
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.got46
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.r12
-rw-r--r--ld/testsuite/ld-mips-elf/tlsbin-o32.d10
-rw-r--r--ld/testsuite/ld-mips-elf/tlsbin-o32.got6
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d32
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got19
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d32
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got21
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d32
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got21
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32.d16
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32.got19
-rw-r--r--ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got12
-rw-r--r--ld/testsuite/ld-mips-elf/tlslib-o32-ver.got14
-rw-r--r--ld/testsuite/ld-mips-elf/tlslib-o32.d10
-rw-r--r--ld/testsuite/ld-mips-elf/tlslib-o32.got14
37 files changed, 469 insertions, 204 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 0eca263..275c8f5 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,27 @@
+2007-11-14 Richard Sandiford <richard@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * ld-mips-elf/got-page-1.d, ld-mips-elf/got-page-1.s,
+ * ld-mips-elf/got-page-2.d, ld-mips-elf/got-page-2.s,
+ * ld-mips-elf/got-page-3.d, ld-mips-elf/got-page-3a.s,
+ * ld-mips-elf/got-page-3b.s, ld-mips-elf/got-page-3c.s,
+ * ld-mips-elf/got-page-1.ld: New tests.
+ * ld-mips-elf/mips-elf.exp: Run them.
+ * ld-mips-elf/multi-got-1.d, ld-mips-elf/multi-got-no-shared.d,
+ * ld-mips-elf/tls-hidden2-got.d, ld-mips-elf/tls-hidden2.d,
+ * ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
+ * ld-mips-elf/tls-hidden3.r, ld-mips-elf/tls-hidden4.got,
+ * ld-mips-elf/tls-hidden4.r, ld-mips-elf/tls-multi-got-1.d,
+ * ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1.r,
+ * ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsbin-o32.got,
+ * ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-1.got,
+ * ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.got,
+ * ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-3.got,
+ * ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got,
+ * ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-o32-ver.got,
+ * ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.got: Update for
+ GOT allocation changes.
+
2007-11-14 Hans-Peter Nilsson <hp@axis.com>
* ld-elf/flags1.d: Generalize regexp for section size.
diff --git a/ld/testsuite/ld-mips-elf/got-page-1.d b/ld/testsuite/ld-mips-elf/got-page-1.d
new file mode 100644
index 0000000..6f4cfd3
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-1.d
@@ -0,0 +1,10 @@
+#name: GOT page test 1
+#source: got-page-1.s
+#ld: -T got-page-1.ld -shared
+#readelf: -d
+#
+# There should be 10 page entries and 2 reserved entries
+#
+#...
+.* \(MIPS_LOCAL_GOTNO\) *12
+#pass
diff --git a/ld/testsuite/ld-mips-elf/got-page-1.ld b/ld/testsuite/ld-mips-elf/got-page-1.ld
new file mode 100644
index 0000000..fe2afe6
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-1.ld
@@ -0,0 +1,31 @@
+SECTIONS
+{
+ . = 0x80000;
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+
+ . = ALIGN (0x400);
+ .rel.dyn : { *(.rel.dyn) }
+
+ . = ALIGN (0x400);
+ .MIPS.stubs : { *(.MIPS.stubs) }
+
+ . = ALIGN (0x400);
+ .text : { *(.text) }
+
+ . = ALIGN (0x10000);
+ _gp = . + 0x7ff0;
+ .got : { *(.got) }
+
+ . = ALIGN (0x400);
+ .bss : { *(.bss .bss.*) }
+
+ /DISCARD/ : { *(.reginfo) }
+}
+
+VERSION
+{
+ { local: *; };
+}
diff --git a/ld/testsuite/ld-mips-elf/got-page-1.s b/ld/testsuite/ld-mips-elf/got-page-1.s
new file mode 100644
index 0000000..976a522
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-1.s
@@ -0,0 +1,46 @@
+ # See below.
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 2 pages
+ lw $4,%got(foo-0x8000)($gp)
+ addiu $4,$4,%lo(foo-0x8000)
+ lw $4,%got(foo+0x800)($gp)
+ addiu $4,$4,%lo(foo+0x8000)
+
+ # 2 pages
+ lw $4,%got(foo-0x1000000)($gp)
+ addiu $4,$4,%lo(foo-0x1000000)
+ lw $4,%got(foo-0xffffff)($gp)
+ addiu $4,$4,%lo(foo-0xffffff)
+
+ # 1 page
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 5 pages
+ lw $4,%got(bar)($gp)
+ addiu $4,$4,%lo(bar)
+ lw $4,%got(bar+0x20000)($gp)
+ addiu $4,$4,%lo(bar+0x20000)
+ lw $4,%got(bar+0x40000)($gp)
+ addiu $4,$4,%lo(bar+0x40000)
+ lw $4,%got(bar+0x30000)($gp)
+ addiu $4,$4,%lo(bar+0x30000)
+ lw $4,%got(bar+0x10000)($gp)
+ addiu $4,$4,%lo(bar+0x10000)
+ lw $4,%got(bar+0x38000)($gp)
+ addiu $4,$4,%lo(bar+0x38000)
+ lw $4,%got(bar+0x14000)($gp)
+ addiu $4,$4,%lo(bar+0x14000)
+ lw $4,%got(bar+0x2c000)($gp)
+ addiu $4,$4,%lo(bar+0x2c000)
+ lw $4,%got(bar+0x02000)($gp)
+ addiu $4,$4,%lo(bar+0x02000)
+
+ .section .bss.foo,"aw",@nobits
+ .fill 0x800000
+foo: .fill 0x800000
+
+ .section .bss.bar,"aw",@nobits
+bar: .fill 0xc00000
diff --git a/ld/testsuite/ld-mips-elf/got-page-2.d b/ld/testsuite/ld-mips-elf/got-page-2.d
new file mode 100644
index 0000000..ad198d0
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-2.d
@@ -0,0 +1,11 @@
+#name: GOT page test 2
+#source: got-page-2.s
+#as: -EB -n32
+#ld: -T got-page-1.ld -shared -melf32btsmipn32
+#readelf: -d
+#
+# There should be 10 page entries and 2 reserved entries
+#
+#...
+.* \(MIPS_LOCAL_GOTNO\) *12
+#pass
diff --git a/ld/testsuite/ld-mips-elf/got-page-2.s b/ld/testsuite/ld-mips-elf/got-page-2.s
new file mode 100644
index 0000000..9482570
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-2.s
@@ -0,0 +1,46 @@
+ # See below.
+ lw $4,%got_page(foo+0x120000)($gp)
+ addiu $4,$4,%got_ofst(foo+0x120000)
+
+ # 2 pages
+ lw $4,%got_page(foo-0x8000)($gp)
+ addiu $4,$4,%got_ofst(foo-0x8000)
+ lw $4,%got_page(foo+0x800)($gp)
+ addiu $4,$4,%got_ofst(foo+0x8000)
+
+ # 2 pages
+ lw $4,%got_page(foo-0x1000000)($gp)
+ addiu $4,$4,%got_ofst(foo-0x1000000)
+ lw $4,%got_page(foo-0xffffff)($gp)
+ addiu $4,$4,%got_ofst(foo-0xffffff)
+
+ # 1 page
+ lw $4,%got_page(foo+0x120000)($gp)
+ addiu $4,$4,%got_ofst(foo+0x120000)
+
+ # 5 pages
+ lw $4,%got_page(bar)($gp)
+ addiu $4,$4,%got_ofst(bar)
+ lw $4,%got_page(bar+0x20000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x20000)
+ lw $4,%got_page(bar+0x40000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x40000)
+ lw $4,%got_page(bar+0x30000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x30000)
+ lw $4,%got_page(bar+0x10000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x10000)
+ lw $4,%got_page(bar+0x38000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x38000)
+ lw $4,%got_page(bar+0x14000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x14000)
+ lw $4,%got_page(bar+0x2c000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x2c000)
+ lw $4,%got_page(bar+0x02000)($gp)
+ addiu $4,$4,%got_ofst(bar+0x02000)
+
+ .section .bss.foo,"aw",@nobits
+ .fill 0x800000
+foo: .fill 0x800000
+
+ .section .bss.bar,"aw",@nobits
+bar: .fill 0xc00000
diff --git a/ld/testsuite/ld-mips-elf/got-page-3.d b/ld/testsuite/ld-mips-elf/got-page-3.d
new file mode 100644
index 0000000..913b0c9
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-3.d
@@ -0,0 +1,26 @@
+#name: GOT page test 3
+#source: got-page-3a.s
+#source: got-page-3b.s
+#source: got-page-3c.s
+#as: -mips3
+#ld: -T got-page-1.ld -shared
+#objdump: -dr
+#
+# got-page-3a.s and got-page-3b.s should get assigned the same GOT,
+# with a page estimate of 10. Thus the first page entry has offset
+# -32744 (-32768 + 0x8000 - ELF_MIPS_GP_OFFSET + MIPS_RESERVED_GOTNO)
+# and the first global entry has an offset -32744 + 40 == -32704.
+#
+# got-page-3c.s should get its own GOT, and needs no page entries.
+# The first global symbol should therefore be at offset -32744.
+#
+#...
+.* lw a0,-32744\(gp\)
+.* addiu a0,a0,.*
+#...
+.* lw a1,-32704\(gp\)
+#...
+.* <f3>:
+#...
+.* lw a1,-32744\(gp\)
+#pass
diff --git a/ld/testsuite/ld-mips-elf/got-page-3a.s b/ld/testsuite/ld-mips-elf/got-page-3a.s
new file mode 100644
index 0000000..c0d4633
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-3a.s
@@ -0,0 +1,58 @@
+ .macro makeref,sym
+ lw $5,%got(\sym\@)($gp)
+ .endm
+
+ .globl f1
+ .ent f1
+f1:
+ # See below.
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 2 pages
+ lw $4,%got(foo-0x8000)($gp)
+ addiu $4,$4,%lo(foo-0x8000)
+ lw $4,%got(foo+0x800)($gp)
+ addiu $4,$4,%lo(foo+0x8000)
+
+ # 2 pages
+ lw $4,%got(foo-0x1000000)($gp)
+ addiu $4,$4,%lo(foo-0x1000000)
+ lw $4,%got(foo-0xffffff)($gp)
+ addiu $4,$4,%lo(foo-0xffffff)
+
+ # 1 page
+ lw $4,%got(foo+0x120000)($gp)
+ addiu $4,$4,%lo(foo+0x120000)
+
+ # 5 pages
+ lw $4,%got(bar)($gp)
+ addiu $4,$4,%lo(bar)
+ lw $4,%got(bar+0x20000)($gp)
+ addiu $4,$4,%lo(bar+0x20000)
+ lw $4,%got(bar+0x40000)($gp)
+ addiu $4,$4,%lo(bar+0x40000)
+ lw $4,%got(bar+0x30000)($gp)
+ addiu $4,$4,%lo(bar+0x30000)
+ lw $4,%got(bar+0x10000)($gp)
+ addiu $4,$4,%lo(bar+0x10000)
+ lw $4,%got(bar+0x38000)($gp)
+ addiu $4,$4,%lo(bar+0x38000)
+ lw $4,%got(bar+0x14000)($gp)
+ addiu $4,$4,%lo(bar+0x14000)
+ lw $4,%got(bar+0x2c000)($gp)
+ addiu $4,$4,%lo(bar+0x2c000)
+ lw $4,%got(bar+0x02000)($gp)
+ addiu $4,$4,%lo(bar+0x02000)
+ .end f1
+
+ .rept 8000
+ makeref foo
+ .endr
+
+ .section .bss.foo,"aw",@nobits
+ .fill 0x800000
+foo: .fill 0x800000
+
+ .section .bss.bar,"aw",@nobits
+bar: .fill 0xc00000
diff --git a/ld/testsuite/ld-mips-elf/got-page-3b.s b/ld/testsuite/ld-mips-elf/got-page-3b.s
new file mode 100644
index 0000000..6b399db
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-3b.s
@@ -0,0 +1,11 @@
+ .macro makeref,sym
+ lw $5,%got(\sym\@)($gp)
+ .endm
+
+ .globl f2
+ .ent f2
+f2:
+ .rept 8000
+ makeref bar
+ .endr
+ .end f2
diff --git a/ld/testsuite/ld-mips-elf/got-page-3c.s b/ld/testsuite/ld-mips-elf/got-page-3c.s
new file mode 100644
index 0000000..cd7656c
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/got-page-3c.s
@@ -0,0 +1,11 @@
+ .macro makeref,sym
+ lw $5,%got(\sym\@)($gp)
+ .endm
+
+ .globl f3
+ .ent f3
+f3:
+ .rept 8000
+ makeref frob
+ .endr
+ .end f3
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 1f215d3..63af733 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -144,6 +144,11 @@ if {$has_newabi} {
if { $linux_gnu } {
run_dump_test "textrel-1"
+ run_dump_test "got-page-1"
+ if $has_newabi {
+ run_dump_test "got-page-2"
+ }
+ run_dump_test "got-page-3"
}
if $has_newabi {
diff --git a/ld/testsuite/ld-mips-elf/multi-got-1.d b/ld/testsuite/ld-mips-elf/multi-got-1.d
index db76eea..15f04b2 100644
--- a/ld/testsuite/ld-mips-elf/multi-got-1.d
+++ b/ld/testsuite/ld-mips-elf/multi-got-1.d
@@ -19,7 +19,7 @@ Dynamic section at offset .* contains 17 entries:
0x70000001 \(MIPS_RLD_VERSION\) 1
0x70000005 \(MIPS_FLAGS\) NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) 0
- 0x7000000a \(MIPS_LOCAL_GOTNO\) 12
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) 2
0x70000011 \(MIPS_SYMTABNO\) [0-9]+
0x70000012 \(MIPS_UNREFEXTNO\) [0-9]+
0x70000013 \(MIPS_GOTSYM\) 0x[0-9a-f]+
diff --git a/ld/testsuite/ld-mips-elf/multi-got-no-shared.d b/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
index bffc485..6a539dc 100644
--- a/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
+++ b/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
@@ -9,10 +9,10 @@
Disassembly of section \.text:
004000b0 <[^>]*> 3c1c0043 lui gp,0x43
-004000b4 <[^>]*> 279c9ff0 addiu gp,gp,-24592
+004000b4 <[^>]*> 279c9a00 addiu gp,gp,-26112
004000b8 <[^>]*> afbc0008 sw gp,8\(sp\)
#...
00408d60 <[^>]*> 3c1c0044 lui gp,0x44
-00408d64 <[^>]*> 279cb960 addiu gp,gp,-18080
+00408d64 <[^>]*> 279cb348 addiu gp,gp,-19640
00408d68 <[^>]*> afbc0008 sw gp,8\(sp\)
#pass
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden2-got.d b/ld/testsuite/ld-mips-elf/tls-hidden2-got.d
index 69c0982..9c252ee 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden2-got.d
+++ b/ld/testsuite/ld-mips-elf/tls-hidden2-got.d
@@ -2,5 +2,4 @@
.*file format.*
Contents of section \.got:
- *[0-9a-f]* 00000000 80000000 00000000 00000000 *\..*
- *[0-9a-f]* 00000000 00000000 00000000 00000ba8 *\..*
+ *[0-9a-f]* 00000000 80000000 00000ba8 *\..*
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden2.d b/ld/testsuite/ld-mips-elf/tls-hidden2.d
index e6322ca..58e6eac 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden2.d
+++ b/ld/testsuite/ld-mips-elf/tls-hidden2.d
@@ -4,7 +4,7 @@
Disassembly of section \.text:
.* <.*>:
-.*: 8f82802c * lw v0,-32724\(gp\)
+.*: 8f828018 * lw v0,-32744\(gp\)
\.\.\.
-.*: 8f82802c * lw v0,-32724\(gp\)
+.*: 8f828018 * lw v0,-32744\(gp\)
\.\.\.
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.d b/ld/testsuite/ld-mips-elf/tls-hidden3.d
index 6d58686..06a0c66 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.d
+++ b/ld/testsuite/ld-mips-elf/tls-hidden3.d
@@ -14,11 +14,11 @@ Disassembly of section \.text:
# Any order would be acceptable, but it must match the .got dump.
#
00080c00 <\.text>:
- 80c00: 8f848030 lw a0,-32720\(gp\)
- 80c04: 8f84803c lw a0,-32708\(gp\)
- 80c08: 8f848034 lw a0,-32716\(gp\)
- 80c0c: 8f848038 lw a0,-32712\(gp\)
- 80c10: 8f848030 lw a0,-32720\(gp\)
- 80c14: 8f84803c lw a0,-32708\(gp\)
- 80c18: 8f848034 lw a0,-32716\(gp\)
- 80c1c: 8f848038 lw a0,-32712\(gp\)
+ 80c00: 8f84801c lw a0,-32740\(gp\)
+ 80c04: 8f848028 lw a0,-32728\(gp\)
+ 80c08: 8f848020 lw a0,-32736\(gp\)
+ 80c0c: 8f848024 lw a0,-32732\(gp\)
+ 80c10: 8f84801c lw a0,-32740\(gp\)
+ 80c14: 8f848028 lw a0,-32728\(gp\)
+ 80c18: 8f848020 lw a0,-32736\(gp\)
+ 80c1c: 8f848024 lw a0,-32732\(gp\)
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.got b/ld/testsuite/ld-mips-elf/tls-hidden3.got
index 8b9c87f..282a027 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.got
+++ b/ld/testsuite/ld-mips-elf/tls-hidden3.got
@@ -19,6 +19,5 @@
# Any order would be acceptable, but it must match the .d dump.
#
Contents of section \.got:
- 90000 00000000 80000000 00000000 00000000 .*
- 90010 00000000 00000000 00000000 00000000 .*
- 90020 0000abc0 0000abc8 0000abcc 0000abc4 .*
+ 90000 00000000 80000000 00000000 0000abc0 .*
+ 90010 0000abc8 0000abcc 0000abc4 .*
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden3.r b/ld/testsuite/ld-mips-elf/tls-hidden3.r
index c0a23a5..e7b7665 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden3.r
+++ b/ld/testsuite/ld-mips-elf/tls-hidden3.r
@@ -6,8 +6,8 @@ Relocation section '\.rel\.dyn' at offset .* contains 6 entries:
# The order of the next four entries doesn't matter. The important thing
# is that there is exactly one entry per GOT TLS slot.
#
-00090020 0000002f R_MIPS_TLS_TPREL3
-00090024 0000002f R_MIPS_TLS_TPREL3
-00090028 0000002f R_MIPS_TLS_TPREL3
-0009002c 0000002f R_MIPS_TLS_TPREL3
-00090030 .*03 R_MIPS_REL32 00000000 undef
+0009000c 0000002f R_MIPS_TLS_TPREL3
+00090010 0000002f R_MIPS_TLS_TPREL3
+00090014 0000002f R_MIPS_TLS_TPREL3
+00090018 0000002f R_MIPS_TLS_TPREL3
+00090020 .*03 R_MIPS_REL32 00000000 undef
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.got b/ld/testsuite/ld-mips-elf/tls-hidden4.got
index 84120c0..0c90da2 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden4.got
+++ b/ld/testsuite/ld-mips-elf/tls-hidden4.got
@@ -15,7 +15,8 @@ Contents of section \.got:
# entry for each symbol.
#
#...
- 1c4080 0000abc8 0000abcc 0000abc0 0000abc4 .*
+ 1c4010 00000000 00000000 0000abc8 0000abcc .*
+ 1c4020 0000abc0 0000abc4 00000000 80000000 .*
#
# Likewise, but the order of the entries in this GOT is:
#
@@ -24,5 +25,4 @@ Contents of section \.got:
# foo0
# foo1
#...
- 1d00c0 00000000 00000000 00000000 0000abcc .*
- 1d00d0 0000abc8 0000abc0 0000abc4 .*
+ 1d0030 0000abcc 0000abc8 0000abc0 0000abc4 .*
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.r b/ld/testsuite/ld-mips-elf/tls-hidden4.r
index f4d36b0..7a9353d 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden4.r
+++ b/ld/testsuite/ld-mips-elf/tls-hidden4.r
@@ -7,13 +7,13 @@ Relocation section '\.rel\.dyn' at offset .* contains .* entries:
# important thing is that there is exactly one entry per GOT TLS slot
# and that the addresses match those in the .got dump.
#
-001c4080 0000002f R_MIPS_TLS_TPREL3
-001c4084 0000002f R_MIPS_TLS_TPREL3
-001c4088 0000002f R_MIPS_TLS_TPREL3
-001c408c 0000002f R_MIPS_TLS_TPREL3
-001d00cc 0000002f R_MIPS_TLS_TPREL3
-001d00d0 0000002f R_MIPS_TLS_TPREL3
-001d00d4 0000002f R_MIPS_TLS_TPREL3
-001d00d8 0000002f R_MIPS_TLS_TPREL3
+001c4018 0000002f R_MIPS_TLS_TPREL3
+001c401c 0000002f R_MIPS_TLS_TPREL3
+001c4020 0000002f R_MIPS_TLS_TPREL3
+001c4024 0000002f R_MIPS_TLS_TPREL3
+001d0030 0000002f R_MIPS_TLS_TPREL3
+001d0034 0000002f R_MIPS_TLS_TPREL3
+001d0038 0000002f R_MIPS_TLS_TPREL3
+001d003c 0000002f R_MIPS_TLS_TPREL3
.* R_MIPS_REL32 .*
#pass
diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.d b/ld/testsuite/ld-mips-elf/tls-multi-got-1.d
index 0678685..147dc83 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.d
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.d
@@ -5,16 +5,16 @@ Disassembly of section .text:
#...
[0-9a-f]+ <tls_bits_1>:
- [0-9a-f]+: 27841c90 addiu a0,gp,7312
- [0-9a-f]+: 27841c84 addiu a0,gp,7300
- [0-9a-f]+: 24441c8c addiu a0,v0,7308
+ [0-9a-f]+: 27841c64 addiu a0,gp,7268
+ [0-9a-f]+: 27841c58 addiu a0,gp,7256
+ [0-9a-f]+: 24441c60 addiu a0,v0,7264
[0-9a-f]+: 00000000 nop
[0-9a-f]+ <sym_2_0000>:
#...
[0-9a-f]+ <tls_bits_2>:
- [0-9a-f]+: 27841c90 addiu a0,gp,7312
- [0-9a-f]+: 27841c84 addiu a0,gp,7300
- [0-9a-f]+: 24441c8c addiu a0,v0,7308
+ [0-9a-f]+: 27841c64 addiu a0,gp,7268
+ [0-9a-f]+: 27841c58 addiu a0,gp,7256
+ [0-9a-f]+: 24441c60 addiu a0,v0,7264
[0-9a-f]+: 00000000 nop
#pass
diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
index 649baae..b8cacfa 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
@@ -4,33 +4,33 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-0013f948 R_MIPS_TLS_DTPMOD32 \*ABS\*
-001495d0 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0013f954 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0013f958 R_MIPS_TLS_DTPREL32 tlsvar_gd
-001495dc R_MIPS_TLS_DTPMOD32 tlsvar_gd
-001495e0 R_MIPS_TLS_DTPREL32 tlsvar_gd
-0013f950 R_MIPS_TLS_TPREL32 tlsvar_ie
-001495d8 R_MIPS_TLS_TPREL32 tlsvar_ie
-00143f7c R_MIPS_REL32 sym_1_9526
+0013f840 R_MIPS_TLS_DTPMOD32 \*ABS\*
+0014949c R_MIPS_TLS_DTPMOD32 \*ABS\*
+0013f84c R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0013f850 R_MIPS_TLS_DTPREL32 tlsvar_gd
+001494a8 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+001494ac R_MIPS_TLS_DTPREL32 tlsvar_gd
+0013f848 R_MIPS_TLS_TPREL32 tlsvar_ie
+001494a4 R_MIPS_TLS_TPREL32 tlsvar_ie
+00143e48 R_MIPS_REL32 sym_1_9526
#...
-00139bd0 R_MIPS_REL32 sym_2_8654
+00139ac8 R_MIPS_REL32 sym_2_8654
Contents of section .got:
- 122420 00000000 80000000 00000000 00000000 .*
- 122430 00000000 00000000 00000000 00000000 .*
- 122440 00000000 00000000 00000000 00000000 .*
- 122450 00000000 000d8048 000d66a4 000d2054 .*
+ 122370 00000000 80000000 000d7f98 000d65f4 .*
+ 122380 000d1fa4 000d6010 000d5a48 000d19c0 .*
#...
- 13f930 00000000 00000000 00000000 00000000 .*
- 13f940 00000000 00000000 00000000 00000000 .*
- 13f950 00000000 00000000 00000000 00000000 .*
- 13f960 80000000 00000000 00000000 00000000 .*
+ 135bf0 000cf204 000e0e48 00000000 80000000 .*
+ 135c00 00000000 00000000 00000000 00000000 .*
#...
- 1495a0 00000000 00000000 00000000 00000000 .*
- 1495b0 00000000 00000000 00000000 00000000 .*
- 1495c0 00000000 00000000 00000000 00000000 .*
- 1495d0 00000000 00000000 00000000 00000000 .*
- 1495e0 00000000 .*
+ 13f830 00000000 00000000 00000000 00000000 .*
+ 13f840 00000000 00000000 00000000 00000000 .*
+ 13f850 00000000 00000000 80000000 00000000 .*
+#...
+ 149460 00000000 00000000 00000000 00000000 .*
+ 149470 00000000 00000000 00000000 00000000 .*
+ 149480 00000000 00000000 00000000 00000000 .*
+ 149490 00000000 00000000 00000000 00000000 .*
+ 1494a0 00000000 00000000 00000000 00000000 .*
#pass
diff --git a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
index db44114..5ef19f6 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.r
@@ -6,14 +6,14 @@ Dynamic section at offset .* contains 18 entries:
0x00000006 \(SYMTAB\).*
0x0000000a \(STRSZ\) 220091 \(bytes\)
0x0000000b \(SYMENT\) 16 \(bytes\)
- 0x00000003 \(PLTGOT\) 0x122420
+ 0x00000003 \(PLTGOT\) 0x122370
0x00000011 \(REL\) 0xa7978
0x00000012 \(RELSZ\) 160072 \(bytes\)
0x00000013 \(RELENT\) 8 \(bytes\)
0x70000001 \(MIPS_RLD_VERSION\) 1
0x70000005 \(MIPS_FLAGS\) NOTPOT
0x70000006 \(MIPS_BASE_ADDRESS\) 0
- 0x7000000a \(MIPS_LOCAL_GOTNO\) 13
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) 2
0x70000011 \(MIPS_SYMTABNO\) 20013
0x70000012 \(MIPS_UNREFEXTNO\) 11
0x70000013 \(MIPS_GOTSYM\) 0xd
@@ -31,8 +31,8 @@ Relocation section '\.rel\.dyn' at offset 0x[0-9a-f]+ contains 20009 entries:
[0-9a-f ]+R_MIPS_TLS_DTPREL 00000000 tlsvar_gd
[0-9a-f ]+R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
[0-9a-f ]+R_MIPS_TLS_TPREL3 00000004 tlsvar_ie
-[0-9a-f ]+R_MIPS_REL32 000d8048 sym_1_9526
-[0-9a-f ]+R_MIPS_REL32 000d66a4 sym_1_7885
+[0-9a-f ]+R_MIPS_REL32 000d7f98 sym_1_9526
+[0-9a-f ]+R_MIPS_REL32 000d65f4 sym_1_7885
#...
-[0-9a-f ]+R_MIPS_REL32 000cf2b4 sym_1_0465
-[0-9a-f ]+R_MIPS_REL32 000e0ef8 sym_2_8654
+[0-9a-f ]+R_MIPS_REL32 000cf204 sym_1_0465
+[0-9a-f ]+R_MIPS_REL32 000e0e48 sym_2_8654
diff --git a/ld/testsuite/ld-mips-elf/tlsbin-o32.d b/ld/testsuite/ld-mips-elf/tlsbin-o32.d
index d20ad22..0319649 100644
--- a/ld/testsuite/ld-mips-elf/tlsbin-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlsbin-o32.d
@@ -10,14 +10,14 @@ Disassembly of section .text:
4000e0: afbe0008 sw s8,8\(sp\)
4000e4: 03a0f021 move s8,sp
4000e8: afbc0000 sw gp,0\(sp\)
- 4000ec: 8f99802c lw t9,-32724\(gp\)
- 4000f0: 2784803c addiu a0,gp,-32708
+ 4000ec: 8f998018 lw t9,-32744\(gp\)
+ 4000f0: 27848028 addiu a0,gp,-32728
4000f4: 0320f809 jalr t9
4000f8: 00000000 nop
4000fc: 8fdc0000 lw gp,0\(s8\)
400100: 00000000 nop
- 400104: 8f99802c lw t9,-32724\(gp\)
- 400108: 27848034 addiu a0,gp,-32716
+ 400104: 8f998018 lw t9,-32744\(gp\)
+ 400108: 27848020 addiu a0,gp,-32736
40010c: 0320f809 jalr t9
400110: 00000000 nop
400114: 8fdc0000 lw gp,0\(s8\)
@@ -26,7 +26,7 @@ Disassembly of section .text:
400120: 24638000 addiu v1,v1,-32768
400124: 00621821 addu v1,v1,v0
400128: 7c02283b rdhwr v0,\$5
- 40012c: 8f838030 lw v1,-32720\(gp\)
+ 40012c: 8f83801c lw v1,-32740\(gp\)
400130: 00000000 nop
400134: 00621821 addu v1,v1,v0
400138: 7c02283b rdhwr v0,\$5
diff --git a/ld/testsuite/ld-mips-elf/tlsbin-o32.got b/ld/testsuite/ld-mips-elf/tlsbin-o32.got
index e924620..7deecf5 100644
--- a/ld/testsuite/ld-mips-elf/tlsbin-o32.got
+++ b/ld/testsuite/ld-mips-elf/tlsbin-o32.got
@@ -2,7 +2,5 @@
.*: file format elf32-tradbigmips
Contents of section .got:
- 10000010 00000000 80000000 00000000 00000000 ................
- 10000020 00000000 00000000 00000000 00400158 .............@.X
- 10000030 ffff900c 00000001 00000000 00000001 ................
- 10000040 ffff8008 ....
+ 10000010 00000000 80000000 00400158 ffff900c .........@.X....
+ 10000020 00000001 00000000 00000001 ffff8008 ................
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
index 3637049..2ff4260 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
@@ -11,20 +11,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -61,20 +61,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -83,10 +83,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
index 9b2e722..7053939 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
@@ -4,16 +4,15 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd
+1000003c R_MIPS_TLS_TPREL32 tlsvar_ie
+10000048 R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040053c .............@..
- 10000040 00000001 00000000 00000000 00000000 ................
- 10000050 00000000 00000000 00000000 00000000 ................
+ 10000020 00000000 80000000 0040053c 00000001 .........@......
+ 10000030 00000000 00000000 00000000 00000000 ................
+ 10000040 00000000 00000000 00000000 ............
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
index 3637049..2ff4260 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
@@ -11,20 +11,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -61,20 +61,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -83,10 +83,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
index eb4d2c1a..e397b2f 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
@@ -4,17 +4,16 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd
+1000003c R_MIPS_TLS_TPREL32 tlsvar_ie
+10000048 R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 .*
- 10000030 00000000 00000000 00000000 0040053c .*
- 10000040 00000001 00000000 00000000 00000000 .*
- 10000050 00000000 00000000 00000000 00000000 .*
- 10000060 00000000 00000000 00000000 .*
+ 10000020 00000000 80000000 0040053c 00000001 .*
+ 10000030 00000000 00000000 00000000 00000000 .*
+ 10000040 00000000 00000000 00000000 00000000 .*
+ 10000050 00000000 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
index 9e7da50..994585a 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
@@ -11,20 +11,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -57,20 +57,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848044 addiu a0,gp,-32700
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848030 addiu a0,gp,-32720
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -79,10 +79,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f83804c lw v1,-32692\(gp\)
+ .*: 8f838038 lw v1,-32712\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
index a5242aa..fe77221 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
@@ -4,17 +4,16 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000054 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000048 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
-1000005c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000040 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000044 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000034 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000038 R_MIPS_TLS_DTPREL32 tlsvar_gd
+1000003c R_MIPS_TLS_TPREL32 tlsvar_ie
+10000048 R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 .*
- 10000030 00000000 00000000 00000000 004005ec .*
- 10000040 00000001 00000000 00000000 00000000 .*
- 10000050 00000000 00000000 00000000 00000000 .*
- 10000060 00000000 00000000 00000000 .*
+ 10000020 00000000 80000000 004005ec 00000001 .*
+ 10000030 00000000 00000000 00000000 00000000 .*
+ 10000040 00000000 00000000 00000000 00000000 .*
+ 10000050 00000000 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
index 31e9e02..2c55921 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
@@ -11,20 +11,20 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848038 addiu a0,gp,-32712
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848024 addiu a0,gp,-32732
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848048 addiu a0,gp,-32696
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 2784801c addiu a0,gp,-32740
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -33,10 +33,10 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f838044 lw v1,-32700\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f838040 lw v1,-32704\(gp\)
+ .*: 8f83802c lw v1,-32724\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
index 1006332..5f93c17 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
@@ -4,16 +4,15 @@ tmpdir/tls-dynamic-o32: file format elf32-tradbigmips
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-10000048 R_MIPS_TLS_DTPMOD32 tlsbin_gd
-1000004c R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000058 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-1000005c R_MIPS_TLS_DTPREL32 tlsvar_gd
-10000054 R_MIPS_TLS_TPREL32 tlsbin_ie
-10000050 R_MIPS_TLS_TPREL32 tlsvar_ie
+10000034 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000038 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000044 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000048 R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000040 R_MIPS_TLS_TPREL32 tlsbin_ie
+1000003c R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 10000020 00000000 80000000 00000000 00000000 ................
- 10000030 00000000 00000000 00000000 0040051c ................
- 10000040 00000001 00000000 00000000 00000000 ................
- 10000050 00000000 00000000 00000000 00000000 ................
+ 10000020 00000000 80000000 0040051c 00000001 ................
+ 10000030 00000000 00000000 00000000 00000000 ................
+ 10000040 00000000 00000000 00000000 ............
diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got b/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got
index 1507f2c..b1a8317 100644
--- a/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got
+++ b/ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got
@@ -4,13 +4,11 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-000403d0 R_MIPS_TLS_TPREL32 \*ABS\*
-000403d4 R_MIPS_TLS_DTPMOD32 \*ABS\*
-000403dc R_MIPS_TLS_DTPMOD32 \*ABS\*
+000403bc R_MIPS_TLS_TPREL32 \*ABS\*
+000403c0 R_MIPS_TLS_DTPMOD32 \*ABS\*
+000403c8 R_MIPS_TLS_DTPMOD32 \*ABS\*
Contents of section .got:
- 403b0 00000000 80000000 00000000 00000000 ................
- 403c0 00000000 00000000 00000000 00000380 ................
- 403d0 00000008 00000000 00000000 00000000 ................
- 403e0 ffff8004 ....
+ 403b0 00000000 80000000 00000380 00000008 ................
+ 403c0 00000000 00000000 00000000 ffff8004 ................
diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got b/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got
index c0bf509..a2bc239 100644
--- a/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got
+++ b/ld/testsuite/ld-mips-elf/tlslib-o32-ver.got
@@ -4,14 +4,12 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040534 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0004053c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-00040540 R_MIPS_TLS_DTPREL32 tlsvar_gd
-00040530 R_MIPS_TLS_TPREL32 tlsvar_ie
+00040520 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040528 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0004052c R_MIPS_TLS_DTPREL32 tlsvar_gd
+0004051c R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 40510 00000000 80000000 00000000 00000000 ................
- 40520 00000000 00000000 00000000 000004e0 ................
- 40530 00000000 00000000 00000000 00000000 ................
- 40540 00000000 ....
+ 40510 00000000 80000000 000004e0 00000000 ................
+ 40520 00000000 00000000 00000000 00000000 ................
diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32.d b/ld/testsuite/ld-mips-elf/tlslib-o32.d
index 32fd7e3..cdeeded 100644
--- a/ld/testsuite/ld-mips-elf/tlslib-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlslib-o32.d
@@ -11,14 +11,14 @@ Disassembly of section .text:
.*: afbe0008 sw s8,8\(sp\)
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 2784803c addiu a0,gp,-32708
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848028 addiu a0,gp,-32728
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
- .*: 8f99802c lw t9,-32724\(gp\)
- .*: 27848034 addiu a0,gp,-32716
+ .*: 8f998018 lw t9,-32744\(gp\)
+ .*: 27848020 addiu a0,gp,-32736
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
@@ -27,7 +27,7 @@ Disassembly of section .text:
.*: 24638000 addiu v1,v1,-32768
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
- .*: 8f838030 lw v1,-32720\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 03c0e821 move sp,s8
diff --git a/ld/testsuite/ld-mips-elf/tlslib-o32.got b/ld/testsuite/ld-mips-elf/tlslib-o32.got
index 7307081..7dca58e 100644
--- a/ld/testsuite/ld-mips-elf/tlslib-o32.got
+++ b/ld/testsuite/ld-mips-elf/tlslib-o32.got
@@ -4,14 +4,12 @@ tmpdir/tlslib-o32.so: file format elf32-tradbigmips
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040494 R_MIPS_TLS_DTPMOD32 \*ABS\*
-0004049c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-000404a0 R_MIPS_TLS_DTPREL32 tlsvar_gd
-00040490 R_MIPS_TLS_TPREL32 tlsvar_ie
+00040480 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040488 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0004048c R_MIPS_TLS_DTPREL32 tlsvar_gd
+0004047c R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 40470 00000000 80000000 00000000 00000000 ................
- 40480 00000000 00000000 00000000 00000440 ................
- 40490 00000000 00000000 00000000 00000000 ................
- 404a0 00000000 ....
+ 40470 00000000 80000000 00000440 00000000 ................
+ 40480 00000000 00000000 00000000 00000000 ................