MIPS/BFD: Call `mips_elf32_rtype_to_howto' directly with o32

Call `mips_elf32_rtype_to_howto' directly rather than via the
`->elf_backend_mips_rtype_to_howto' method in the o32 backend,
complementing commit 861fb55ab5 ("Defer allocation of R_MIPS_REL32 GOT
slots"), <https://sourceware.org/ml/binutils/2008-08/msg00096.html>, and
reverting the change to `mips_info_to_howto_rel' originally made with
commit 0a44bf6950 ("mips-vxworks support"),
<https://sourceware.org/ml/binutils/2006-03/msg00179.html>.

With `mips_vxworks_rtype_to_howto' gone there is a single backend method
used across all o32 targets, so there in no need for the indirection and
the associated extra cost.  This also makes the o32 backend consistent
with the n32 and n64 backends.

	bfd/
	* elf32-mips.c (mips_info_to_howto_rel): Call
	`mips_elf32_rtype_to_howto' directly rather than via
	`->elf_backend_mips_rtype_to_howto'.
This commit is contained in:
Maciej W. Rozycki 2018-03-28 21:37:37 +01:00
parent e04ef02299
commit 8205a328f8
2 changed files with 7 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2018-02-28 Maciej W. Rozycki <macro@mips.com>
* elf32-mips.c (mips_info_to_howto_rel): Call
`mips_elf32_rtype_to_howto' directly rather than via
`->elf_backend_mips_rtype_to_howto'.
2018-03-28 Renlin Li <renlin.li@arm.com> 2018-03-28 Renlin Li <renlin.li@arm.com>
PR ld/22970 PR ld/22970

View File

@ -2235,12 +2235,10 @@ mips_elf32_rtype_to_howto (bfd *abfd,
static bfd_boolean static bfd_boolean
mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst) mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
{ {
const struct elf_backend_data *bed;
unsigned int r_type; unsigned int r_type;
r_type = ELF32_R_TYPE (dst->r_info); r_type = ELF32_R_TYPE (dst->r_info);
bed = get_elf_backend_data (abfd); cache_ptr->howto = mips_elf32_rtype_to_howto (abfd, r_type, FALSE);
cache_ptr->howto = bed->elf_backend_mips_rtype_to_howto (abfd, r_type, FALSE);
if (cache_ptr->howto == NULL) if (cache_ptr->howto == NULL)
{ {
/* xgettext:c-format */ /* xgettext:c-format */