diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-02-11 18:06:10 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2013-02-11 18:06:10 +0000 |
commit | d7206569910d947ce26af969afed889c856ebbec (patch) | |
tree | 986891c202888ab0ba1a593f05782cb8bdcda9b7 /ld | |
parent | d9e983823a937b588efcdca81417eb39ae0c8797 (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/tls-hidden4.got | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/tls-multi-got-1.d | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/tls-multi-got-1.got | 10 |
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: |