MIPS/BFD: Use `bfd_size_type' for dynamic symbol table indices

Use the `bfd_size_type' data type for dynamic symbol table indices in
the MIPS backend, in line with generic code and removing the need to use
a cast.

	bfd/
	* elfxx-mips.c (mips_elf_hash_sort_data): Convert the
	`min_got_dynindx', `max_unref_got_dynindx' and
	`max_non_got_dynindx' members to the `bfd_size_type' data type.
	(mips_elf_sort_hash_table): Adjust accordingly.
This commit is contained in:
Maciej W. Rozycki 2017-02-02 21:43:26 +00:00
parent 0f8c4b60ef
commit 55f8b9d243
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
* elfxx-mips.c (mips_elf_hash_sort_data): Convert the
`min_got_dynindx', `max_unref_got_dynindx' and
`max_non_got_dynindx' members to the `bfd_size_type' data type.
(mips_elf_sort_hash_table): Adjust accordingly.
2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
* elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout

View File

@ -310,14 +310,14 @@ struct mips_elf_hash_sort_data
struct elf_link_hash_entry *low;
/* The least dynamic symbol table index corresponding to a non-TLS
symbol with a GOT entry. */
long min_got_dynindx;
bfd_size_type min_got_dynindx;
/* The greatest dynamic symbol table index corresponding to a symbol
with a GOT entry that is not referenced (e.g., a dynamic symbol
with dynamic relocations pointing to it from non-primary GOTs). */
long max_unref_got_dynindx;
bfd_size_type max_unref_got_dynindx;
/* The greatest dynamic symbol table index not corresponding to a
symbol without a GOT entry. */
long max_non_got_dynindx;
bfd_size_type max_non_got_dynindx;
};
/* We make up to two PLT entries if needed, one for standard MIPS code
@ -3852,8 +3852,7 @@ mips_elf_sort_hash_table (bfd *abfd, struct bfd_link_info *info)
/* There should have been enough room in the symbol table to
accommodate both the GOT and non-GOT symbols. */
BFD_ASSERT (hsd.max_non_got_dynindx <= hsd.min_got_dynindx);
BFD_ASSERT ((unsigned long) hsd.max_unref_got_dynindx
== htab->root.dynsymcount);
BFD_ASSERT (hsd.max_unref_got_dynindx == htab->root.dynsymcount);
BFD_ASSERT (htab->root.dynsymcount - hsd.min_got_dynindx == g->global_gotno);
/* Now we know which dynamic symbol has the lowest dynamic symbol