MIPS/BFD: Keep EI_ABIVERSION setting together
authorMaciej W. Rozycki <macro@mips.com>
Thu, 21 Jun 2018 20:40:56 +0000 (21:40 +0100)
committerMaciej W. Rozycki <macro@mips.com>
Thu, 21 Jun 2018 20:40:56 +0000 (21:40 +0100)
Shuffle code in `_bfd_mips_post_process_headers' so that the setting of
the EI_ABIVERSION ELF file header field is complete before calling
`_bfd_elf_post_process_headers'.  This used to be the case, but was
changed with commit 351cdf24d223 ("[MIPS] Implement O32 FPXX, FP64 and
FP64A ABI extensions") for no reason.

bfd/
* elfxx-mips.c (_bfd_mips_post_process_headers): Keep
EI_ABIVERSION setting together.

bfd/ChangeLog
bfd/elfxx-mips.c

index 68db522..f56ddf9 100644 (file)
@@ -1,5 +1,10 @@
 2018-06-21  Maciej W. Rozycki  <macro@mips.com>
 
+       * elfxx-mips.c (_bfd_mips_post_process_headers): Keep
+       EI_ABIVERSION setting together.
+
+2018-06-21  Maciej W. Rozycki  <macro@mips.com>
+
        * elfxx-mips.c (MIPS_LIBC_ABI_DEFAULT, MIPS_LIBC_ABI_MIPS_PLT)
        (MIPS_LIBC_ABI_UNIQUE, MIPS_LIBC_ABI_MIPS_O32_FP64)
        (MIPS_LIBC_ABI_MAX): New enumeration constants.
index f3a2d3b..0b0084c 100644 (file)
@@ -16258,11 +16258,11 @@ _bfd_mips_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
        i_ehdrp->e_ident[EI_ABIVERSION] = MIPS_LIBC_ABI_MIPS_PLT;
     }
 
-  _bfd_elf_post_process_headers (abfd, link_info);
-
   if (mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64
       || mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64A)
     i_ehdrp->e_ident[EI_ABIVERSION] = MIPS_LIBC_ABI_MIPS_O32_FP64;
+
+  _bfd_elf_post_process_headers (abfd, link_info);
 }
 
 int