This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[9/20] MIPS GOT: Factor out GOT creation code
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: binutils at sourceware dot org
- Date: Mon, 11 Feb 2013 17:46:22 +0000
- Subject: [9/20] MIPS GOT: Factor out GOT creation code
- References: <87fw1222fy.fsf@talisman.default>
The master GOT and multigots use different hash equivalence functions,
and hence different hash functions. The master GOT has a separate
mips_got_entry for each BFD that references a symbol, and a separate
mips_got_entry for each BFD that uses a TLS LDM slot. Other GOTs have
a single mips_got_entry for all references to the same thing.
The eventual aim of the patches is to make the master GOT work like
the others. This patch therefore makes it use the same hash function,
but for now continues to use the original (stronger) equivalence function.
That's obviously a bad idea in isolation, since it increases the number
of collisions. I separated it out in order to isolate the knock-on
testsuite changes.
Richard
bfd/
* elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
(mips_elf_got_entry_hash): ...this, deleting the old version.
(mips_elf_create_got_info): Use mips_elf_got_entry_hash for
both types of GOT.
ld/testsuite/
* ld-mips-elf/tls-hidden3.d, ld-mips-elf/tls-hidden3.got,
ld-mips-elf/tls-multi-got-1.got, 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.d,
ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32-hidden.got,
ld-mips-elf/tlslib-o32-ver.got: Adjust GOT layout for new
got_entry hash function.
Index: bfd/elfxx-mips.c
===================================================================
--- bfd/elfxx-mips.c 2013-02-11 14:06:33.922169939 +0000
+++ bfd/elfxx-mips.c 2013-02-11 14:06:34.436173914 +0000
@@ -699,8 +699,6 @@ #define rpdNil ((pRPDR) 0)
(bfd *, struct bfd_link_info *, const Elf_Internal_Rela *,
struct mips_elf_link_hash_entry *, asection *, bfd_vma,
bfd_vma *, asection *);
-static hashval_t mips_elf_got_entry_hash
- (const void *);
static bfd_vma mips_elf_adjust_gp
(bfd *, struct mips_got_info *, bfd *);
static struct mips_got_info *mips_elf_got_for_ibfd
@@ -2795,19 +2793,6 @@ mips_elf_hash_bfd_vma (bfd_vma addr)
use all fields to compute the hash, and compare the appropriate
union members. */
-static hashval_t
-mips_elf_got_entry_hash (const void *entry_)
-{
- const struct mips_got_entry *entry = (struct mips_got_entry *)entry_;
-
- return entry->symndx
- + ((entry->tls_type & GOT_TLS_LDM) << 17)
- + (! entry->abfd ? mips_elf_hash_bfd_vma (entry->d.address)
- : entry->abfd->id
- + (entry->symndx >= 0 ? mips_elf_hash_bfd_vma (entry->d.addend)
- : entry->d.h->root.root.root.hash));
-}
-
static int
mips_elf_got_entry_eq (const void *entry1, const void *entry2)
{
@@ -2830,7 +2815,7 @@ mips_elf_got_entry_eq (const void *entry
accordingly. */
static hashval_t
-mips_elf_multi_got_entry_hash (const void *entry_)
+mips_elf_got_entry_hash (const void *entry_)
{
const struct mips_got_entry *entry = (struct mips_got_entry *)entry_;
@@ -2902,7 +2887,7 @@ mips_elf_create_got_info (bfd *abfd, bfd
g->got_entries = htab_try_create (1, mips_elf_got_entry_hash,
mips_elf_got_entry_eq, NULL);
else
- g->got_entries = htab_try_create (1, mips_elf_multi_got_entry_hash,
+ g->got_entries = htab_try_create (1, mips_elf_got_entry_hash,
mips_elf_multi_got_entry_eq, NULL);
if (g->got_entries == NULL)
return NULL;
Index: ld/testsuite/ld-mips-elf/tls-hidden3.d
===================================================================
--- ld/testsuite/ld-mips-elf/tls-hidden3.d 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tls-hidden3.d 2013-02-11 14:06:34.438173929 +0000
@@ -7,18 +7,18 @@ Disassembly of section \.text:
# The TLS entries are ordered as follows:
#
# foo0 (-0x7ff0 + 0x20)
-# foo2 (-0x7ff0 + 0x24)
-# foo3 (-0x7ff0 + 0x28)
-# foo1 (-0x7ff0 + 0x2c)
+# foo1 (-0x7ff0 + 0x24)
+# foo2 (-0x7ff0 + 0x28)
+# foo3 (-0x7ff0 + 0x2c)
#
# Any order would be acceptable, but it must match the .got dump.
#
00080c00 <\.text>:
80c00: 8f84801c lw a0,-32740\(gp\)
- 80c04: 8f848028 lw a0,-32728\(gp\)
- 80c08: 8f848020 lw a0,-32736\(gp\)
- 80c0c: 8f848024 lw a0,-32732\(gp\)
+ 80c04: 8f848020 lw a0,-32736\(gp\)
+ 80c08: 8f848024 lw a0,-32732\(gp\)
+ 80c0c: 8f848028 lw a0,-32728\(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\)
+ 80c14: 8f848020 lw a0,-32736\(gp\)
+ 80c18: 8f848024 lw a0,-32732\(gp\)
+ 80c1c: 8f848028 lw a0,-32728\(gp\)
Index: ld/testsuite/ld-mips-elf/tls-hidden3.got
===================================================================
--- ld/testsuite/ld-mips-elf/tls-hidden3.got 2013-02-11 14:06:20.147066529 +0000
+++ ld/testsuite/ld-mips-elf/tls-hidden3.got 2013-02-11 14:06:34.439173937 +0000
@@ -12,12 +12,12 @@
# The order of the TLS entries is:
#
# foo0 (offset 0x20)
-# foo2 (offset 0x24)
-# foo3 (offset 0x28)
-# foo1 (offset 0x2c)
+# foo1 (offset 0x24)
+# foo2 (offset 0x28)
+# foo3 (offset 0x2c)
#
# Any order would be acceptable, but it must match the .d dump.
#
Contents of section \.got:
90000 00000000 80000000 00000000 0000abc0 .*
- 90010 0000abc8 0000abcc 0000abc4 .*
+ 90010 0000abc4 0000abc8 0000abcc .*
Index: ld/testsuite/ld-mips-elf/tls-multi-got-1.got
===================================================================
--- ld/testsuite/ld-mips-elf/tls-multi-got-1.got 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tls-multi-got-1.got 2013-02-11 14:06:34.437173921 +0000
@@ -12,9 +12,9 @@ OFFSET TYPE VALUE
0014948c R_MIPS_TLS_DTPREL32 tlsvar_gd
0013f828 R_MIPS_TLS_TPREL32 tlsvar_ie
00149484 R_MIPS_TLS_TPREL32 tlsvar_ie
-00143e28 R_MIPS_REL32 sym_1_9526
+00143e3c R_MIPS_REL32 sym_1_9526
#...
-00139aa8 R_MIPS_REL32 sym_2_8654
+0013a8f8 R_MIPS_REL32 sym_2_8654
Contents of section .got:
Index: ld/testsuite/ld-mips-elf/tlsbin-o32.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlsbin-o32.d 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlsbin-o32.d 2013-02-11 14:06:34.437173921 +0000
@@ -11,13 +11,13 @@ Disassembly of section .text:
4000e4: 03a0f021 move s8,sp
4000e8: afbc0000 sw gp,0\(sp\)
4000ec: 8f998018 lw t9,-32744\(gp\)
- 4000f0: 27848028 addiu a0,gp,-32728
+ 4000f0: 27848020 addiu a0,gp,-32736
4000f4: 0320f809 jalr t9
4000f8: 00000000 nop
4000fc: 8fdc0000 lw gp,0\(s8\)
400100: 00000000 nop
400104: 8f998018 lw t9,-32744\(gp\)
- 400108: 27848020 addiu a0,gp,-32736
+ 400108: 27848028 addiu a0,gp,-32728
40010c: 0320f809 jalr t9
400110: 00000000 nop
400114: 8fdc0000 lw gp,0\(s8\)
Index: ld/testsuite/ld-mips-elf/tlsbin-o32.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlsbin-o32.got 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlsbin-o32.got 2013-02-11 14:06:34.439173937 +0000
@@ -3,4 +3,4 @@
Contents of section .got:
10000010 00000000 80000000 00400158 ffff900c .........@.X....
- 10000020 00000001 00000000 00000001 ffff8008 ................
+ 10000020 00000001 ffff8008 00000001 00000000 ................
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d 2013-02-11 14:06:20.149066545 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d 2013-02-11 14:06:34.439173937 +0000
@@ -12,19 +12,19 @@ Disassembly of section .text:
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848024 addiu a0,gp,-32732
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 2784801c addiu a0,gp,-32740
+ .*: 27848028 addiu a0,gp,-32728
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83802c lw v1,-32724\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -62,19 +62,19 @@ Disassembly of section .text:
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848024 addiu a0,gp,-32732
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 2784801c addiu a0,gp,-32740
+ .*: 27848028 addiu a0,gp,-32728
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83802c lw v1,-32724\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got 2013-02-11 14:06:34.440173944 +0000
@@ -4,15 +4,15 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-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
+10000030 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000034 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 tlsvar_ie
+1000002c R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
- 10000020 00000000 80000000 004004ac 00000001 .........@......
- 10000030 00000000 00000000 00000000 00000000 ................
+ 10000020 00000000 80000000 004004ac 00000000 .........@......
+ 10000030 00000000 00000000 00000001 00000000 ................
10000040 00000000 00000000 00000000 ............
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d 2013-02-11 14:06:20.149066545 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d 2013-02-11 14:06:34.440173944 +0000
@@ -18,13 +18,13 @@ Disassembly of section .text:
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848020 addiu a0,gp,-32736
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83801c lw v1,-32740\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -68,13 +68,13 @@ Disassembly of section .text:
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848020 addiu a0,gp,-32736
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83801c lw v1,-32740\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got 2013-02-11 14:06:31.821153694 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got 2013-02-11 14:06:34.440173944 +0000
@@ -6,13 +6,13 @@ OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
10000038 R_MIPS_TLS_DTPMOD32 tlsbin_gd
1000003c R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000030 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-10000034 R_MIPS_TLS_DTPREL32 tlsvar_gd
-1000002c R_MIPS_TLS_TPREL32 tlsvar_ie
-10000048 R_MIPS_TLS_TPREL32 tlsbin_ie
+10000044 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000048 R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000040 R_MIPS_TLS_TPREL32 tlsvar_ie
+1000002c R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
10000020 00000000 80000000 004004ac 00000000 .*
- 10000030 00000000 00000000 00000000 00000000 .*
- 10000040 00000001 00000000 00000000 .*
+ 10000030 00000001 00000000 00000000 00000000 .*
+ 10000040 00000000 00000000 00000000 .*
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d 2013-02-11 14:06:34.440173944 +0000
@@ -18,13 +18,13 @@ Disassembly of section .text:
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848020 addiu a0,gp,-32736
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83801c lw v1,-32740\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
@@ -64,13 +64,13 @@ Disassembly of section .text:
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848020 addiu a0,gp,-32736
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848030 addiu a0,gp,-32720
+ .*: 27848020 addiu a0,gp,-32736
.*: 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
- .*: 8f838038 lw v1,-32712\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83801c lw v1,-32740\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got 2013-02-11 14:06:31.822153702 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got 2013-02-11 14:06:34.440173944 +0000
@@ -6,13 +6,13 @@ OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
10000038 R_MIPS_TLS_DTPMOD32 tlsbin_gd
1000003c R_MIPS_TLS_DTPREL32 tlsbin_gd
-10000030 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-10000034 R_MIPS_TLS_DTPREL32 tlsvar_gd
-1000002c R_MIPS_TLS_TPREL32 tlsvar_ie
-10000048 R_MIPS_TLS_TPREL32 tlsbin_ie
+10000044 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000048 R_MIPS_TLS_DTPREL32 tlsvar_gd
+10000040 R_MIPS_TLS_TPREL32 tlsvar_ie
+1000002c R_MIPS_TLS_TPREL32 tlsbin_ie
Contents of section .got:
10000020 00000000 80000000 0040055c 00000000 .*
- 10000030 00000000 00000000 00000000 00000000 .*
- 10000040 00000001 00000000 00000000 .*
+ 10000030 00000001 00000000 00000000 00000000 .*
+ 10000040 00000000 00000000 00000000 .*
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32.d 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32.d 2013-02-11 14:06:34.438173929 +0000
@@ -12,19 +12,19 @@ Disassembly of section .text:
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848024 addiu a0,gp,-32732
+ .*: 27848034 addiu a0,gp,-32716
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848034 addiu a0,gp,-32716
+ .*: 27848020 addiu a0,gp,-32736
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 2784801c addiu a0,gp,-32740
+ .*: 27848028 addiu a0,gp,-32728
.*: 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
- .*: 8f838030 lw v1,-32720\(gp\)
+ .*: 8f83801c lw v1,-32740\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
- .*: 8f83802c lw v1,-32724\(gp\)
+ .*: 8f838030 lw v1,-32720\(gp\)
.*: 00000000 nop
.*: 00621821 addu v1,v1,v0
.*: 7c02283b rdhwr v0,\$5
Index: ld/testsuite/ld-mips-elf/tlsdyn-o32.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlsdyn-o32.got 2013-02-11 14:06:20.147066529 +0000
+++ ld/testsuite/ld-mips-elf/tlsdyn-o32.got 2013-02-11 14:06:34.440173944 +0000
@@ -4,15 +4,15 @@ tmpdir/tls-dynamic-o32: file format
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-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
+10000044 R_MIPS_TLS_DTPMOD32 tlsbin_gd
+10000048 R_MIPS_TLS_DTPREL32 tlsbin_gd
+10000030 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+10000034 R_MIPS_TLS_DTPREL32 tlsvar_gd
+1000002c R_MIPS_TLS_TPREL32 tlsbin_ie
+10000040 R_MIPS_TLS_TPREL32 tlsvar_ie
Contents of section .got:
- 10000020 00000000 80000000 004004fc 00000001 ................
- 10000030 00000000 00000000 00000000 00000000 ................
+ 10000020 00000000 80000000 004004fc 00000000 ................
+ 10000030 00000000 00000000 00000001 00000000 ................
10000040 00000000 00000000 00000000 ............
Index: ld/testsuite/ld-mips-elf/tlslib-o32.d
===================================================================
--- ld/testsuite/ld-mips-elf/tlslib-o32.d 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlslib-o32.d 2013-02-11 14:06:34.438173929 +0000
@@ -12,13 +12,13 @@ Disassembly of section .text:
.*: 03a0f021 move s8,sp
.*: afbc0000 sw gp,0\(sp\)
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848028 addiu a0,gp,-32728
+ .*: 27848020 addiu a0,gp,-32736
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
.*: 00000000 nop
.*: 8f998018 lw t9,-32744\(gp\)
- .*: 27848020 addiu a0,gp,-32736
+ .*: 27848028 addiu a0,gp,-32728
.*: 0320f809 jalr t9
.*: 00000000 nop
.*: 8fdc0000 lw gp,0\(s8\)
Index: ld/testsuite/ld-mips-elf/tlslib-o32.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlslib-o32.got 2013-02-11 14:06:20.149066545 +0000
+++ ld/testsuite/ld-mips-elf/tlslib-o32.got 2013-02-11 14:06:34.441173951 +0000
@@ -4,9 +4,9 @@ tmpdir/tlslib-o32.so: file format el
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040460 R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040468 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0004046c R_MIPS_TLS_DTPREL32 tlsvar_gd
+00040468 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040460 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+00040464 R_MIPS_TLS_DTPREL32 tlsvar_gd
0004045c R_MIPS_TLS_TPREL32 tlsvar_ie
Index: ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got 2013-02-11 14:06:20.147066529 +0000
+++ ld/testsuite/ld-mips-elf/tlslib-o32-hidden.got 2013-02-11 14:06:34.441173951 +0000
@@ -11,4 +11,4 @@ OFFSET TYPE VALUE
Contents of section .got:
403b0 00000000 80000000 00000380 00000008 ................
- 403c0 00000000 00000000 00000000 ffff8004 ................
+ 403c0 00000000 ffff8004 00000000 00000000 ................
Index: ld/testsuite/ld-mips-elf/tlslib-o32-ver.got
===================================================================
--- ld/testsuite/ld-mips-elf/tlslib-o32-ver.got 2013-02-11 14:06:20.148066537 +0000
+++ ld/testsuite/ld-mips-elf/tlslib-o32-ver.got 2013-02-11 14:06:34.441173951 +0000
@@ -4,9 +4,9 @@
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
-00040500 R_MIPS_TLS_DTPMOD32 \*ABS\*
-00040508 R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0004050c R_MIPS_TLS_DTPREL32 tlsvar_gd
+00040508 R_MIPS_TLS_DTPMOD32 \*ABS\*
+00040500 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+00040504 R_MIPS_TLS_DTPREL32 tlsvar_gd
000404fc R_MIPS_TLS_TPREL32 tlsvar_ie