binutils-gdb/ld/testsuite/ld-mips-elf/tls-multi-got-1.got
Richard Sandiford d720656991 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.
2013-02-11 18:06:10 +00:00

37 lines
1.1 KiB
Plaintext

.*: file format elf32-tradbigmips
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
00000000 R_MIPS_NONE \*ABS\*
0013f820 R_MIPS_TLS_DTPMOD32 \*ABS\*
0014947c R_MIPS_TLS_DTPMOD32 \*ABS\*
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
0013f830 R_MIPS_TLS_TPREL32 tlsvar_ie
00149484 R_MIPS_TLS_TPREL32 tlsvar_ie
00143ea8 R_MIPS_REL32 sym_1_9526
#...
00139a84 R_MIPS_REL32 sym_2_8654
Contents of section .got:
122350 00000000 80000000 000d7f88 000d65e4 .*
122360 000d1f94 000d6000 000d5a38 000d19b0 .*
#...
135bd0 000cf1f4 000e0e38 00000000 80000000 .*
135be0 00000000 00000000 00000000 00000000 .*
#...
13f810 00000000 00000000 00000000 00000000 .*
13f820 00000000 00000000 00000000 00000000 .*
13f830 00000000 00000000 80000000 00000000 .*
#...
149440 00000000 00000000 00000000 00000000 .*
149450 00000000 00000000 00000000 00000000 .*
149460 00000000 00000000 00000000 00000000 .*
149470 00000000 00000000 00000000 00000000 .*
149480 00000000 00000000 00000000 00000000 .*
#pass