aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2013-02-11 18:06:10 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2013-02-11 18:06:10 +0000
commitd7206569910d947ce26af969afed889c856ebbec (patch)
tree986891c202888ab0ba1a593f05782cb8bdcda9b7 /ld
parentd9e983823a937b588efcdca81417eb39ae0c8797 (diff)
downloadgdb-d7206569910d947ce26af969afed889c856ebbec.zip
gdb-d7206569910d947ce26af969afed889c856ebbec.tar.gz
gdb-d7206569910d947ce26af969afed889c856ebbec.tar.bz2
bfd/
* elfxx-mips.c (mips_got_info): Remove bfd2got. (mips_elf_bfd2got_hash): Delete. (mips_elf_got_per_bfd_arg): Remove bfd2got. (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions. (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use g->next to test for the multigot case. Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq) (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete. (mips_elf_make_got_per_bfd): Replace with... (mips_elf_add_got_entry): ...this new function. (mips_elf_make_got_pages_per_bfd): Replace with... (mips_elf_add_got_page_entry): ...this new function. (mips_elf_merge_got_with): Replace bfd2got argument with separate bfd and GOT arguments. Use mips_elf_add_got_entry and mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd and mips_elf_make_got_pages_per_bfd. Use mips_elf_replace_bfd_got to set the BFD's GOT and free the old table. (mips_elf_merge_got): Replace bfd2got argument with separate bfd and GOT arguments. Apply mips_elf_resolve_final_got_entries. Use mips_elf_count_got_entries to count the number of entries in each GOT. Update the calls to mips_elf_merge_got_with. (mips_elf_adjust_gp): Use g->next to test for the multigot case. Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. (mips_elf_multi_got): Don't create the bfd2got hash table. Replace hash table traversal with a walk over the input bfds, updating the call to mips_elf_merge_got. Use mips_elf_replace_bfd_got to set the output bfd's GOT. (mips_elf_lay_out_got): Rename "sub" to "ibfd". Record that all bfds use the master GOT in the single-GOT case. (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd. ld/testsuite/ * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d, ld-mips-elf/tls-multi-got-1.got: Update for changes in the order that symbols are added to per-bfd GOTs.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-mips-elf/tls-hidden4.got4
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tls-multi-got-1.got10
4 files changed, 15 insertions, 9 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index dc9eb82..bd7b94b 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+ * ld-mips-elf/tls-hidden4.got, ld-mips-elf/tls-multi-got-1.d,
+ ld-mips-elf/tls-multi-got-1.got: Update for changes in the order
+ that symbols are added to per-bfd GOTs.
+
+2013-02-11 Richard Sandiford <rdsandiford@googlemail.com>
+
* 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,
diff --git a/ld/testsuite/ld-mips-elf/tls-hidden4.got b/ld/testsuite/ld-mips-elf/tls-hidden4.got
index e6b2115..7984501 100644
--- a/ld/testsuite/ld-mips-elf/tls-hidden4.got
+++ b/ld/testsuite/ld-mips-elf/tls-hidden4.got
@@ -21,9 +21,9 @@ Contents of section \.got:
# Likewise, but the order of the entries in this GOT is:
#
# foo3
-# foo2
# foo0
+# foo2
# foo1
#...
1d0020 00000000 00000000 00000000 0000abcc .*
- 1d0030 0000abc8 0000abc0 0000abc4 .*
+ 1d0030 0000abc0 0000abc8 0000abc4 .*
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 147dc83..937c269 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.d
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.d
@@ -13,8 +13,8 @@ Disassembly of section .text:
[0-9a-f]+ <sym_2_0000>:
#...
[0-9a-f]+ <tls_bits_2>:
- [0-9a-f]+: 27841c64 addiu a0,gp,7268
+ [0-9a-f]+: 27841c60 addiu a0,gp,7264
[0-9a-f]+: 27841c58 addiu a0,gp,7256
- [0-9a-f]+: 24441c60 addiu a0,v0,7264
+ [0-9a-f]+: 24441c68 addiu a0,v0,7272
[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 6f666c1..95b56c2 100644
--- a/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
+++ b/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
@@ -6,15 +6,15 @@ OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
0013f820 R_MIPS_TLS_DTPMOD32 \*ABS\*
0014947c R_MIPS_TLS_DTPMOD32 \*ABS\*
-0013f82c R_MIPS_TLS_DTPMOD32 tlsvar_gd
-0013f830 R_MIPS_TLS_DTPREL32 tlsvar_gd
+0013f828 R_MIPS_TLS_DTPMOD32 tlsvar_gd
+0013f82c R_MIPS_TLS_DTPREL32 tlsvar_gd
00149488 R_MIPS_TLS_DTPMOD32 tlsvar_gd
0014948c R_MIPS_TLS_DTPREL32 tlsvar_gd
-0013f828 R_MIPS_TLS_TPREL32 tlsvar_ie
+0013f830 R_MIPS_TLS_TPREL32 tlsvar_ie
00149484 R_MIPS_TLS_TPREL32 tlsvar_ie
-00143e3c R_MIPS_REL32 sym_1_9526
+00143ea8 R_MIPS_REL32 sym_1_9526
#...
-0013a8f8 R_MIPS_REL32 sym_2_8654
+00139a84 R_MIPS_REL32 sym_2_8654
Contents of section .got: