MIPS/BFD: Call `mips_elf32_rtype_to_howto' directly with o32
authorMaciej W. Rozycki <macro@mips.com>
Wed, 28 Mar 2018 20:37:37 +0000 (21:37 +0100)
committerMaciej W. Rozycki <macro@mips.com>
Wed, 28 Mar 2018 20:37:37 +0000 (21:37 +0100)
Call `mips_elf32_rtype_to_howto' directly rather than via the
`->elf_backend_mips_rtype_to_howto' method in the o32 backend,
complementing commit 861fb55ab50a ("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 0a44bf6950b3 ("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'.

bfd/ChangeLog
bfd/elf32-mips.c

index b88eb6c01f43bae3435b847e4bdbac9f307e2279..2f820917a54f4a6a75f63159c4fd1b396681849b 100644 (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>
 
        PR ld/22970
index d6005ff53f751130a8c18339529bb95ac840a095..37676778e15ceec8bdfecf3aeedf65e78ed98b80 100644 (file)
@@ -2235,12 +2235,10 @@ mips_elf32_rtype_to_howto (bfd *abfd,
 static bfd_boolean
 mips_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst)
 {
-  const struct elf_backend_data *bed;
   unsigned int r_type;
 
   r_type = ELF32_R_TYPE (dst->r_info);
-  bed = get_elf_backend_data (abfd);
-  cache_ptr->howto = bed->elf_backend_mips_rtype_to_howto (abfd, r_type, FALSE);
+  cache_ptr->howto = mips_elf32_rtype_to_howto (abfd, r_type, FALSE);
   if (cache_ptr->howto == NULL)
     {
       /* xgettext:c-format */