copy_private and merge_private functions
authorAlan Modra <amodra@gmail.com>
Fri, 21 Nov 2025 22:39:12 +0000 (09:09 +1030)
committerAlan Modra <amodra@gmail.com>
Fri, 21 Nov 2025 22:39:12 +0000 (09:09 +1030)
These are all called via BFD_SEND on the output bfd xvec.  Thus there
is no need to verify the output bfd flavour.  There *is* a need to
verify the input bfd flavour.  Also of course target specific data
shouldn't be accessed until the input target is verified.  Tidy these
issues in many places.

bfd_copy_private_section_data, bfd_copy_private_symbol_data, and
bfd_merge_private_bfd_data are macros.  Delete prototypes created via
synopsis entry in comments.

* aout-target.h (MY_bfd_copy_private_section_data): Remove
unnecessary output bfd flavour check.
* coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
* elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
* ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise, and
move setup of pointers into target specific data after check.
* elf.c (_bfd_elf_copy_private_bfd_data): Likewise.
(_bfd_elf_copy_private_symbol_data): Likewise.
(copy_private_bfd_data): Remove checks duplicating those done
in caller.
(_bfd_elf_copy_private_section_data): Remove unnecessary
output bfd flavour check.
(_bfd_elf_copy_private_header_data): Likewise.
* elf32-arc.c (arc_elf_print_private_bfd_data): Likewise.
(arc_elf_merge_private_bfd_data): Likewise.
* elf32-arm.c (elf32_arm_copy_private_bfd_data): Likewise.
(elf32_arm_merge_private_bfd_data): Likewise.
* elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
* elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
(cris_elf_merge_private_bfd_data): Likewise.
* elf32-csky.c (csky_elf_merge_private_bfd_data): Likewise.
* elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
* elf32-lm32.c (lm32_elf_fdpic_copy_private_bfd_data): Likewise.
* elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
* elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
* elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
* elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
* elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise, and
move setup of pointers into target specific data after check.
* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove unnecessary
output bfd flavour check.
* elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
* elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise,
and move check before target specific data accesss.
* elf32-sh.c (sh_elf_copy_private_data): Remove unnecessary
output bfd flavour check.
(sh_elf_merge_private_data): Likewise.
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
* elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
* elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
* elf32-visium.c (visium_elf_copy_private_bfd_data): Likewise.
* elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
* elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
* elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
* elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
* elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
* elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
* elfnn-kvx.c (elfNN_kvx_merge_private_bfd_data): Likewise.
* elfnn-loongarch.c (elfNN_loongarch_merge_private_bfd_data): Likewise.
* elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Likewise.
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
* mach-o.c (bfd_mach_o_bfd_copy_private_section_data): Likewise.
(bfd_mach_o_bfd_copy_private_header_data): Likewise.
* mmo.c (mmo_bfd_copy_private_bfd_data): Likewise.
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
(_bfd_XX_bfd_copy_private_section_data): Likewise.
* som.c (som_bfd_copy_private_section_data): Likewise.
(som_bfd_copy_private_bfd_data): Likewise.
(som_bfd_copy_private_symbol_data): Likewise, and move setup
of pointers into target specific data after check.

* elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Check
input bfd flavour.
* elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
* elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
* elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
* elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
* elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
* elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
* elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
* elf32-tic6x.c (elf32_tic6x_merge_private_bfd_data): Likewise.
* elf32-v850.c (v850_elf_copy_notes): Likewise.
* elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
* mach-o.c (bfd_mach_o_bfd_copy_private_symbol_data): Likewise.

* linker.c (bfd_merge_private_bfd_data): Delete SYNOPSIS.
* section.c (bfd_copy_private_section_data): Likewise.
* syms.c (bfd_copy_private_symbol_data): Likewise.
* bfd-in2.h: Regenerate.

54 files changed:
bfd/aout-target.h
bfd/bfd-in2.h
bfd/coff-arm.c
bfd/ecoff.c
bfd/elf-m10300.c
bfd/elf.c
bfd/elf32-arc.c
bfd/elf32-arm.c
bfd/elf32-bfin.c
bfd/elf32-cr16.c
bfd/elf32-cris.c
bfd/elf32-csky.c
bfd/elf32-frv.c
bfd/elf32-h8300.c
bfd/elf32-iq2000.c
bfd/elf32-lm32.c
bfd/elf32-m32c.c
bfd/elf32-m32r.c
bfd/elf32-m68hc1x.c
bfd/elf32-m68k.c
bfd/elf32-mcore.c
bfd/elf32-mep.c
bfd/elf32-nds32.c
bfd/elf32-or1k.c
bfd/elf32-ppc.c
bfd/elf32-rl78.c
bfd/elf32-rx.c
bfd/elf32-s390.c
bfd/elf32-score.c
bfd/elf32-score7.c
bfd/elf32-sh.c
bfd/elf32-sparc.c
bfd/elf32-tic6x.c
bfd/elf32-v850.c
bfd/elf32-vax.c
bfd/elf32-visium.c
bfd/elf32-xtensa.c
bfd/elf64-ia64-vms.c
bfd/elf64-ppc.c
bfd/elf64-s390.c
bfd/elf64-sparc.c
bfd/elfnn-aarch64.c
bfd/elfnn-ia64.c
bfd/elfnn-kvx.c
bfd/elfnn-loongarch.c
bfd/elfnn-riscv.c
bfd/elfxx-mips.c
bfd/linker.c
bfd/mach-o.c
bfd/mmo.c
bfd/peXXigen.c
bfd/section.c
bfd/som.c
bfd/syms.c

index 229e90b0175f56defe4b9cd75d9072dd885a3c2a..046b1a947cf03fecc436f155f40f452aee5f824c 100644 (file)
@@ -218,8 +218,7 @@ MY_bfd_copy_private_section_data (bfd *ibfd,
                                  struct bfd_link_info *link_info)
 {
   if (link_info == NULL
-      && bfd_get_flavour (ibfd) == bfd_target_aout_flavour
-      && bfd_get_flavour (obfd) == bfd_target_aout_flavour)
+      && bfd_get_flavour (ibfd) == bfd_target_aout_flavour)
     obj_aout_subformat (obfd) = obj_aout_subformat (ibfd);
   return true;
 }
index 4858fef4b1e20d1d2bacf960285f4d5e2a63800e..645c884bdb8cfead53927ac3c6b751bb9db63b13 100644 (file)
@@ -1045,10 +1045,6 @@ bool bfd_get_section_contents
 bool bfd_malloc_and_get_section
    (bfd *abfd, asection *section, bfd_byte **buf);
 
-bool bfd_copy_private_section_data
-   (bfd *ibfd, asection *isec, bfd *obfd, asection *osec,
-    struct bfd_link_info *link_info);
-
 #define bfd_copy_private_section_data(ibfd, isec, obfd, osec, link_info) \
        BFD_SEND (obfd, _bfd_copy_private_section_data, \
                 (ibfd, isec, obfd, osec, link_info))
@@ -1272,9 +1268,6 @@ bool bfd_is_undefined_symclass (int symclass);
 
 void bfd_symbol_info (asymbol *symbol, symbol_info *ret);
 
-bool bfd_copy_private_symbol_data
-   (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
-
 #define bfd_copy_private_symbol_data(ibfd, isymbol, obfd, osymbol) \
        BFD_SEND (obfd, _bfd_copy_private_symbol_data, \
                 (ibfd, isymbol, obfd, osymbol))
@@ -2996,9 +2989,6 @@ bool bfd_link_check_relocs
 bool _bfd_generic_link_check_relocs
    (bfd *abfd, struct bfd_link_info *info);
 
-bool bfd_merge_private_bfd_data
-   (bfd *ibfd, struct bfd_link_info *info);
-
 #define bfd_merge_private_bfd_data(ibfd, info) \
        BFD_SEND ((info)->output_bfd, _bfd_merge_private_bfd_data, \
                 (ibfd, info))
index babb1b23a63b0de3e041d1934927949a5935396c..87cea09ca62fe7f49074d08858ee95c4d4536d85 100644 (file)
@@ -2193,8 +2193,7 @@ coff_arm_merge_private_bfd_data (bfd * ibfd, struct bfd_link_info *info)
   /* If the two formats are different we cannot merge anything.
      This is not an error, since it is permissable to change the
      input and output formats.  */
-  if (   ibfd->xvec->flavour != bfd_target_coff_flavour
-      || obfd->xvec->flavour != bfd_target_coff_flavour)
+  if (ibfd->xvec->flavour != bfd_target_coff_flavour)
     return true;
 
   /* Determine what should happen if the input ARM architecture
index 37cfa4a84a4b9cdbc1ba8fbe690db8945bd24b4f..2af4519422b1aef9da77d729034641dbf9f898bd 100644 (file)
@@ -1835,8 +1835,6 @@ _bfd_ecoff_find_nearest_line (bfd *abfd,
 bool
 _bfd_ecoff_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  struct ecoff_debug_info *iinfo = &ecoff_data (ibfd)->debug_info;
-  struct ecoff_debug_info *oinfo = &ecoff_data (obfd)->debug_info;
   int i;
   asymbol **sym_ptr_ptr;
   size_t c;
@@ -1844,8 +1842,7 @@ _bfd_ecoff_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 
   /* We only want to copy information over if both BFD's use ECOFF
      format.  */
-  if (bfd_get_flavour (ibfd) != bfd_target_ecoff_flavour
-      || bfd_get_flavour (obfd) != bfd_target_ecoff_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_ecoff_flavour)
     return true;
 
   /* Copy the GP value and the register masks.  */
@@ -1856,6 +1853,8 @@ _bfd_ecoff_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
     ecoff_data (obfd)->cprmask[i] = ecoff_data (ibfd)->cprmask[i];
 
   /* Copy the version stamp.  */
+  struct ecoff_debug_info *iinfo = &ecoff_data (ibfd)->debug_info;
+  struct ecoff_debug_info *oinfo = &ecoff_data (obfd)->debug_info;
   oinfo->symbolic_header.vstamp = iinfo->symbolic_header.vstamp;
 
   /* If there are no symbols, don't copy any debugging information.  */
index b5babd239910856ebc7c01139083c838d7aa9b92..c2ed6e87a9145675b4689da68c6064542b491a26 100644 (file)
@@ -4707,8 +4707,7 @@ _bfd_mn10300_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 {
   bfd *obfd = info->output_bfd;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (bfd_get_arch (obfd) == bfd_get_arch (ibfd)
index bf50fc21f95d9ccb378703e1c33f5b395d5db378..fff7e83fd3487176ad63ef36272eab3b4dc1b671 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -1379,14 +1379,12 @@ copy_special_section_fields (const bfd *ibfd,
 bool
 _bfd_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  const Elf_Internal_Shdr **iheaders
-    = (const Elf_Internal_Shdr **) elf_elfsections (ibfd);
-  Elf_Internal_Shdr **oheaders = elf_elfsections (obfd);
+  const Elf_Internal_Shdr **iheaders;
+  Elf_Internal_Shdr **oheaders;
   const struct elf_backend_data *bed;
   unsigned int i;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-    || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (!elf_flags_init (obfd))
@@ -1409,6 +1407,8 @@ _bfd_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
   /* Copy object attributes.  */
   _bfd_elf_copy_obj_attributes (ibfd, obfd);
 
+  iheaders = (const Elf_Internal_Shdr **) elf_elfsections (ibfd);
+  oheaders = elf_elfsections (obfd);
   if (iheaders == NULL || oheaders == NULL)
     return true;
 
@@ -8315,10 +8315,6 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
   bfd_vma maxpagesize;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return true;
-
   if (elf_tdata (ibfd)->phdr == NULL)
     return true;
 
@@ -8452,12 +8448,11 @@ copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 bool
 _bfd_elf_copy_private_section_data (bfd *ibfd,
                                    asection *isec,
-                                   bfd *obfd,
+                                   bfd *obfd ATTRIBUTE_UNUSED,
                                    asection *osec,
                                    struct bfd_link_info *link_info)
 {
-  if (ibfd->xvec->flavour != bfd_target_elf_flavour
-      || obfd->xvec->flavour != bfd_target_elf_flavour)
+  if (ibfd->xvec->flavour != bfd_target_elf_flavour)
     return true;
 
   Elf_Internal_Shdr *ihdr = &elf_section_data (isec)->this_hdr;
@@ -8659,8 +8654,7 @@ _bfd_elf_fixup_group_sections (bfd *ibfd, asection *discarded)
 bool
 _bfd_elf_copy_private_header_data (bfd *ibfd, bfd *obfd)
 {
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   /* Copy over private BFD data if it has not already been copied.
@@ -8692,18 +8686,14 @@ _bfd_elf_copy_private_header_data (bfd *ibfd, bfd *obfd)
 bool
 _bfd_elf_copy_private_symbol_data (bfd *ibfd,
                                   asymbol *isymarg,
-                                  bfd *obfd,
+                                  bfd *obfd ATTRIBUTE_UNUSED,
                                   asymbol *osymarg)
 {
-  elf_symbol_type *isym, *osym;
-
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
-  isym = elf_symbol_from (isymarg);
-  osym = elf_symbol_from (osymarg);
-
+  elf_symbol_type *isym = elf_symbol_from (isymarg);
+  elf_symbol_type *osym = elf_symbol_from (osymarg);
   if (isym != NULL
       && isym->internal_elf_sym.st_shndx != 0
       && osym != NULL
index 5f6e9b4184127d1862836591b50b2516f41d55b1..ee68cfd530ce7920ff49f141132b2082a8a5028e 100644 (file)
@@ -485,8 +485,7 @@ arc_elf_print_private_bfd_data (bfd *abfd, void * ptr)
 static bool
 arc_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   BFD_ASSERT (!elf_flags_init (obfd)
@@ -868,8 +867,7 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   /* Collect ELF flags.  */
index b1426e1744c7e567988f82cf6440e1cd6d5965b7..045837d5c42a5298d47d9a66f6374c8e608432a2 100644 (file)
@@ -13886,7 +13886,7 @@ elf32_arm_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
   flagword in_flags;
   flagword out_flags;
 
-  if (! is_arm_elf (ibfd) || ! is_arm_elf (obfd))
+  if (! is_arm_elf (ibfd))
     return true;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
@@ -20412,7 +20412,7 @@ elf32_arm_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (! is_arm_elf (ibfd) || ! is_arm_elf (obfd))
+  if (! is_arm_elf (ibfd))
     return true;
 
   if (!elf32_arm_merge_eabi_attributes (ibfd, info))
index 4da3e0ec0e739a9294c46f39891596d1109b748e..a3f66ab138e04b45d65ca307e8b49ba834659a9f 100644 (file)
@@ -4759,6 +4759,9 @@ elf32_bfin_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
 
index df3771bda89d8359535f3e6b73fd7356d69ce8ce..9ddf654078c62343780df12d39da6c8941104303 100644 (file)
@@ -1674,8 +1674,7 @@ _bfd_cr16_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 {
   bfd *obfd = info->output_bfd;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (bfd_get_arch (obfd) == bfd_get_arch (ibfd)
index cb88725cc50b17a8dd11349719e2556e30354bc2..7d90b836e353adab7108a4924c405897b3cee5f0 100644 (file)
@@ -3886,8 +3886,7 @@ cris_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   imach = bfd_get_mach (ibfd);
@@ -3958,8 +3957,7 @@ cris_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 static bool
 cris_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   /* Call the base function.  */
index 9ab0f49f43490917d15ea05ce917718c47320d16..e49f8b3635545cbba5b7bcca213e305b6e11f096 100644 (file)
@@ -3035,8 +3035,7 @@ csky_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   /* Merge ".csky.attribute" section.  */
index baeb8ba337814d6643f1863a8d7921385cf4b8e0..7dd354b8eac37c9a4a0620460334e3890184a47e 100644 (file)
@@ -6339,6 +6339,9 @@ frv_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_opt[0] = old_opt[0] = '\0';
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
index e183577fca4096e24bdd1c6f5055cc22a1933d33..4e6649a2dbb7ed78b6272c75711dc33fec213be6 100644 (file)
@@ -647,8 +647,7 @@ elf32_h8_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 {
   bfd *obfd = info->output_bfd;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (bfd_get_arch (obfd) == bfd_get_arch (ibfd)
index d4d7188aa0a7d0af10f6e450704ca48f2e02c82c..4b094d22814ae06fe323ff6ef460edc22ec81001 100644 (file)
@@ -777,6 +777,9 @@ iq2000_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   char new_opt[80];
   char old_opt[80];
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_opt[0] = old_opt[0] = '\0';
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
index f8568d76ed1f16785b0c87f6c1d5d9b183795e47..ec916aaf1b40682cfbefc076f610af6e60ba9240 100644 (file)
@@ -2332,15 +2332,13 @@ lm32_elf_fdpic_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
   unsigned i;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (! _bfd_elf_copy_private_bfd_data (ibfd, obfd))
     return false;
 
-  if (! elf_tdata (ibfd) || ! elf_tdata (ibfd)->phdr
-      || ! elf_tdata (obfd) || ! elf_tdata (obfd)->phdr)
+  if (! elf_tdata (ibfd)->phdr || ! elf_tdata (obfd)->phdr)
     return true;
 
   /* Copy the stack size.  */
index 8f6881bcb0b60e463e9878d10d97b4529909b60d..93cd2d525d912a4518d1f097f57765eb5841a3a3 100644 (file)
@@ -821,6 +821,9 @@ m32c_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   char new_opt[80];
   char old_opt[80];
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_opt[0] = old_opt[0] = '\0';
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
index 5444ddaa1270e9047ad2e8310a72043e8a636444..f21939bf774a0fa9ecfa334c9f9381501b4353e2 100644 (file)
@@ -3237,8 +3237,7 @@ m32r_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword out_flags;
   flagword in_flags;
 
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
index 7e8e0383717f4a7c6295df085360eccb379a993b..b9e20eef06801d1983bf458613cdcc62e4c1dd5d 100644 (file)
@@ -1325,8 +1325,7 @@ _bfd_m68hc11_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   new_flags = elf_elfheader (ibfd)->e_flags;
index b1147ad7d9fad2d497a4aab563e98ff7b7407415..41bc5aef0aa3a26d96c1049c26c8c4593fb23680 100644 (file)
@@ -1190,8 +1190,7 @@ elf32_m68k_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword in_isa;
   const bfd_arch_info_type *arch_info;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     /* PR 24523: For non-ELF files do not try to merge any private
        data, but also do not prevent the link from succeeding.  */
     return true;
index 96e921ef64d14e0d675baa0467b8334aee8a1ac3..4c916fc68e9d34143dbd75d5fd4cab58f4f4644e 100644 (file)
@@ -59,8 +59,7 @@ mcore_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (! _bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   new_flags = elf_elfheader (ibfd)->e_flags;
index 0188fd04f25adbd476d1a4ca17dc75de2dcf756c..58b4cd05d168dc52ab9e2e417e503c823ab8967c 100644 (file)
@@ -580,6 +580,9 @@ mep_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
 
index 02c6ced7e1f5b4bb4f981f3a39fbcb0d4167e63f..2341939e2a7ce8ec62210f6c76c7da8a85667fb4 100644 (file)
@@ -6731,8 +6731,7 @@ nds32_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!nds32_check_vec_size (ibfd))
     return false;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   if (bfd_little_endian (ibfd) != bfd_little_endian (obfd))
index 0f315184310afcdbb769f624b65face5e314e545..10abd878c1c5cb3667536533f14adba677ff8c25 100644 (file)
@@ -3290,13 +3290,12 @@ elf32_or1k_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword out_flags;
   flagword in_flags;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   in_flags  = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return true;
-
   if (!elf_flags_init (obfd))
     {
       elf_flags_init (obfd) = true;
index f95f7a9c1b508b46a0da2c27be26200841679e3a..dd094357c1c5116acaffb0f966c18eb0a0030560 100644 (file)
@@ -3765,7 +3765,7 @@ ppc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword new_flags;
   bool error;
 
-  if (!is_ppc_elf (ibfd) || !is_ppc_elf (obfd))
+  if (!is_ppc_elf (ibfd))
     return true;
 
   /* Check if we have the same endianness.  */
index 98131e0cd844d0ad463eaedb7ccddf15cccb8a85..b44fabbcdbedc547a06d5bfd7f7f9875f1272f5c 100644 (file)
@@ -1186,6 +1186,9 @@ rl78_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword old_flags;
   bool error = false;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
 
index 5c8921e27c40d6008409d3ab880d23086c1b6b68..5bd21456a60335b49b05bf635174b9d71f117835 100644 (file)
@@ -3138,6 +3138,9 @@ rx_elf_merge_private_bfd_data (bfd * ibfd, struct bfd_link_info *info)
   flagword new_flags;
   bool error = false;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
 
index 252ec44f4095b5a8f88096f75cd5b707d393b7c4..b53d1a49dd3eb6b4f53344e89cf3c99c27931cf5 100644 (file)
@@ -3884,7 +3884,7 @@ elf32_s390_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 {
   bfd *obfd = info->output_bfd;
 
-  if (!is_s390_elf (ibfd) || !is_s390_elf (obfd))
+  if (!is_s390_elf (ibfd))
     return true;
 
   if (!elf_s390_merge_obj_attributes (ibfd, info))
index 624b8a8b591e205eeddc261b5ca4310a2a8e1e98..7084e4d9f4f6e3e063d2b76dde0bb17290142dea 100644 (file)
@@ -4012,13 +4012,12 @@ s3_elf32_score_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   in_flags  = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return true;
-
   in_flags = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
index a586831ec9fdaf0d589a8cb9415134388f3c1f19..eb8b1eb15aab517168e789e7ac708546ed4c3a88 100644 (file)
@@ -3819,6 +3819,9 @@ s7_elf32_score_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   in_flags  = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
index f4efd7bba7c2d11b93176ad444c2089725ec2ee5..da00593e96d76cee2873240b7a38b1768832d429 100644 (file)
@@ -5797,7 +5797,7 @@ sh_elf_get_flags_from_mach (unsigned long mach)
 static bool
 sh_elf_copy_private_data (bfd * ibfd, bfd * obfd)
 {
-  if (! is_sh_elf (ibfd) || ! is_sh_elf (obfd))
+  if (! is_sh_elf (ibfd))
     return true;
 
   if (! _bfd_elf_copy_private_bfd_data (ibfd, obfd))
@@ -5884,7 +5884,7 @@ sh_elf_merge_private_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
-  if (! is_sh_elf (ibfd) || ! is_sh_elf (obfd))
+  if (! is_sh_elf (ibfd))
     return true;
 
   if (! elf_flags_init (obfd))
index 0bb86f1c4b5aaf965ef677bea36e32c1e49fb1b2..99729eae2d38a7d2906ebc8b282f2f9e95df4e47 100644 (file)
@@ -75,8 +75,7 @@ elf32_sparc_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   /* FIXME: This should not be static.  */
   static unsigned long previous_ibfd_e_flags = (unsigned long) -1;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   error = false;
index eb980f9268c84b4b85d5853453858ec23d2a67ca..81ca6057e44f47cb48f3581bd132411c27aae0a7 100644 (file)
@@ -3790,7 +3790,7 @@ elf32_tic6x_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (! is_tic6x_elf (ibfd) || ! is_tic6x_elf (info->output_bfd))
+  if (! is_tic6x_elf (ibfd))
     return true;
 
   if (!elf32_tic6x_merge_attributes (ibfd, info))
index 5f9a8f64a3f6f097ca4ddcd0f175196a75aba6dd..2ba734a9b80d938afd2eefdcbaf081de12a6242d 100644 (file)
@@ -2458,7 +2458,8 @@ v850_elf_copy_notes (bfd *ibfd, bfd *obfd)
       bfd_byte * icont;
       bfd_byte * ocont;
 
-      if ((icont = elf_section_data (inotes)->this_hdr.contents) == NULL)
+      if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
+         || (icont = elf_section_data (inotes)->this_hdr.contents) == NULL)
        BFD_ASSERT (bfd_malloc_and_get_section (ibfd, inotes, & icont));
 
       if ((ocont = elf_section_data (onotes)->this_hdr.contents) == NULL)
@@ -2786,8 +2787,7 @@ v850_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword in_flags;
   bool result = true;
 
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   result &= v850_elf_merge_notes (ibfd, obfd);
index aa21c74b3f9b57ccec6b51f48d1715aed28a976e..8d5c18d00f8af996666144a8007344550c22b8d4 100644 (file)
@@ -502,8 +502,7 @@ elf32_vax_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   bfd *obfd = info->output_bfd;
   flagword in_flags;
 
-  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
index 0475a029d8c975dad7027cfe32260a85044b5559..dfc69b2634ef39cd8aa9d902e0619a717e26690e 100644 (file)
@@ -743,8 +743,7 @@ visium_elf_set_private_flags (bfd *abfd, flagword flags)
 static bool
 visium_elf_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   BFD_ASSERT (!elf_flags_init (obfd)
@@ -779,6 +778,9 @@ visium_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   const char *mcm24 = "mcm24";
   const char *gr6 = "gr6";
 
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+    return true;
+
   new_flags = elf_elfheader (ibfd)->e_flags;
   old_flags = elf_elfheader (obfd)->e_flags;
 
index c2be35eb4b7c5678ee248cdeb5b0d9478ac06ddb..20b6292c14ec3288c4d9d60d1ff2d975ccb8f5e0 100644 (file)
@@ -3419,8 +3419,7 @@ elf_xtensa_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
     return false;
 
   /* Don't even pretend to support mixed-format linking.  */
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return false;
 
   out_flag = elf_elfheader (obfd)->e_flags;
index 8f80a92e23f77962d5a47b0ca162a42435832efc..538b7237c6b1f2b1bab2667775abf070c84802ef 100644 (file)
@@ -4226,8 +4226,7 @@ elf64_ia64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
     return true;
 
   /* Don't even pretend to support mixed-format linking.  */
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return false;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
index b01b5fc7c83f88facecb59892405a2839e948a14..818609142ef3b833279fdcc936a7512fcd647543 100644 (file)
@@ -5476,7 +5476,7 @@ ppc64_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & BFD_LINKER_CREATED) != 0)
     return true;
 
-  if (!is_ppc64_elf (ibfd) || !is_ppc64_elf (obfd))
+  if (!is_ppc64_elf (ibfd))
     return true;
 
   if (!_bfd_generic_verify_endian_match (ibfd, info))
index 6394f27e0e2e132a18f2e155ea8031b5d3e21556..5df77f2fe88dca898957ba69a190504b9df7159a 100644 (file)
@@ -4188,7 +4188,7 @@ elf_s390_plt_sym_val (bfd_vma i, const asection *plt,
 static bool
 elf64_s390_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 {
-  if (!is_s390_elf (ibfd) || !is_s390_elf (info->output_bfd))
+  if (!is_s390_elf (ibfd))
     return true;
 
   return elf_s390_merge_obj_attributes (ibfd, info);
index 4a0126ef69b7ef9f9ff96c8cdccf8ea2f26b379e..dfe4f1b7c18200d2592d9057e716dbe3c02af87b 100644 (file)
@@ -672,8 +672,7 @@ elf64_sparc_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword new_flags, old_flags;
   int new_mm, old_mm;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
-      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
     return true;
 
   new_flags = elf_elfheader (ibfd)->e_flags;
index 60bc946d19656a86e5b5bda98e376dd7cf95d153..89cf50bf2a77b5cdf7f735b5bc4b51bd1c4863dc 100644 (file)
@@ -7499,7 +7499,7 @@ elfNN_aarch64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (!is_aarch64_elf (ibfd) || !is_aarch64_elf (obfd))
+  if (!is_aarch64_elf (ibfd))
     return true;
 
   /* The input BFD must have had its flags initialised.  */
index abee1516505dc212bc5fa440e5fb9bfa3156f6e0..e0c3a8c9428a355ec1832d0112201982891a67bb 100644 (file)
@@ -4704,7 +4704,7 @@ elfNN_ia64_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if ((ibfd->flags & DYNAMIC) != 0)
     return true;
 
-  if (!is_ia64_elf (ibfd) || !is_ia64_elf (obfd))
+  if (!is_ia64_elf (ibfd))
     return true;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
index fb71a5bc96202a902858dfdc48a09f56d2b9d0c1..853ccfd0e95ae21c3ee28e4484699c264f0a3f3e 100644 (file)
@@ -2889,7 +2889,7 @@ elfNN_kvx_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   if (!_bfd_generic_verify_endian_match (ibfd, info))
     return false;
 
-  if (!is_kvx_elf (ibfd) || !is_kvx_elf (obfd))
+  if (!is_kvx_elf (ibfd))
     return true;
 
   /* The input BFD must have had its flags initialised.  */
index bac9bf6849c52ca5294b53fbaa288726c2c62da7..4abfd80fd4720925d7feadd03abc1fe594c3fdf8 100644 (file)
@@ -529,7 +529,7 @@ elfNN_loongarch_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   flagword in_flags = elf_elfheader (ibfd)->e_flags;
   flagword out_flags = elf_elfheader (obfd)->e_flags;
 
-  if (!is_loongarch_elf (ibfd) || !is_loongarch_elf (obfd))
+  if (!is_loongarch_elf (ibfd))
     return true;
 
   if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
index dd5268b7d16825ab1b811c6f83ad59c4683f3de1..a6bb6cfb589401a75c9ef19e55f67a95f69b3f93 100644 (file)
@@ -4380,7 +4380,7 @@ _bfd_riscv_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
   bfd *obfd = info->output_bfd;
   flagword new_flags, old_flags;
 
-  if (!is_riscv_elf (ibfd) || !is_riscv_elf (obfd))
+  if (!is_riscv_elf (ibfd))
     return true;
 
   if (strcmp (bfd_get_target (ibfd), bfd_get_target (obfd)) != 0)
index 4460531e58405810f8eb188f6173ed8d20a47328..b8809a4b1da08ebe57506e7c0063fc1548243459 100644 (file)
@@ -15987,7 +15987,7 @@ _bfd_mips_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
       return false;
     }
 
-  if (!is_mips_elf (ibfd) || !is_mips_elf (obfd))
+  if (!is_mips_elf (ibfd))
     return true;
 
   in_tdata = mips_elf_tdata (ibfd);
index 6e2ef059b52e4dbb9a8151bccc80fe817e99f3c8..247c259a95efd0a889d5d114a39d259f14c945b6 100644 (file)
@@ -3502,10 +3502,6 @@ _bfd_generic_link_check_relocs (bfd *abfd ATTRIBUTE_UNUSED,
 FUNCTION
        bfd_merge_private_bfd_data
 
-SYNOPSIS
-       bool bfd_merge_private_bfd_data
-         (bfd *ibfd, struct bfd_link_info *info);
-
 DESCRIPTION
        Merge private BFD information from the BFD @var{ibfd} to the
        the output file BFD when linking.  Return <<TRUE>> on success,
index cc191b9ef1e4e5e97f02a30e2a2e6194f48e4d34..e184ba7b5df423f96b073dbdf00dabb592c41db9 100644 (file)
@@ -561,15 +561,16 @@ bfd_mach_o_append_command (bfd *abfd, bfd_mach_o_load_command *cmd)
    to the output symbol.  */
 
 bool
-bfd_mach_o_bfd_copy_private_symbol_data (bfd *ibfd ATTRIBUTE_UNUSED,
+bfd_mach_o_bfd_copy_private_symbol_data (bfd *ibfd,
                                         asymbol *isymbol,
                                         bfd *obfd ATTRIBUTE_UNUSED,
                                         asymbol *osymbol)
 {
-  bfd_mach_o_asymbol *os, *is;
+  if (ibfd->xvec->flavour != bfd_target_mach_o_flavour)
+    return true;
 
-  os = (bfd_mach_o_asymbol *)osymbol;
-  is = (bfd_mach_o_asymbol *)isymbol;
+  bfd_mach_o_asymbol *os = (bfd_mach_o_asymbol *) osymbol;
+  bfd_mach_o_asymbol *is = (bfd_mach_o_asymbol *) isymbol;
   os->n_type = is->n_type;
   os->n_sect = is->n_sect;
   os->n_desc = is->n_desc;
@@ -582,13 +583,14 @@ bfd_mach_o_bfd_copy_private_symbol_data (bfd *ibfd ATTRIBUTE_UNUSED,
    to the output section.  */
 
 bool
-bfd_mach_o_bfd_copy_private_section_data (bfd *ibfd, asection *isection,
-                                         bfd *obfd, asection *osection,
+bfd_mach_o_bfd_copy_private_section_data (bfd *ibfd,
+                                         asection *isection,
+                                         bfd *obfd ATTRIBUTE_UNUSED,
+                                         asection *osection,
                                          struct bfd_link_info *link_info)
 {
   if (link_info != NULL
-      || ibfd->xvec->flavour != bfd_target_mach_o_flavour
-      || obfd->xvec->flavour != bfd_target_mach_o_flavour)
+      || ibfd->xvec->flavour != bfd_target_mach_o_flavour)
     return true;
 
   bfd_mach_o_section *os = bfd_mach_o_get_mach_o_section (osection);
@@ -731,8 +733,7 @@ bfd_mach_o_bfd_copy_private_header_data (bfd *ibfd, bfd *obfd)
   bfd_mach_o_data_struct *omdata;
   bfd_mach_o_load_command *icmd;
 
-  if (bfd_get_flavour (ibfd) != bfd_target_mach_o_flavour
-      || bfd_get_flavour (obfd) != bfd_target_mach_o_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_mach_o_flavour)
     return true;
 
   BFD_ASSERT (bfd_mach_o_valid (ibfd));
index f63654a459211ae77932a4d652f71dc8e26df88d..0e649032f458eb9603572563ad98d86c09e3bd6d 100644 (file)
--- a/bfd/mmo.c
+++ b/bfd/mmo.c
@@ -610,8 +610,7 @@ mmo_ignore_symbol_consistency (bfd *abfd)
 static bool
 mmo_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
-  if (bfd_get_flavour (ibfd) != bfd_target_mmo_flavour
-      || bfd_get_flavour (obfd) != bfd_target_mmo_flavour)
+  if (bfd_get_flavour (ibfd) != bfd_target_mmo_flavour)
     return true;
 
   /* Copy the time the copied-from file was created.  If people want the
index e6686dc325948736ef71436ebc7171421b00c5b2..c1774966cf43d0eb8b73d447d8e3fe77e65bfadd 100644 (file)
@@ -3004,8 +3004,7 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd)
   bfd_size_type size;
 
   /* One day we may try to grok other private data.  */
-  if (ibfd->xvec->flavour != bfd_target_coff_flavour
-      || obfd->xvec->flavour != bfd_target_coff_flavour)
+  if (ibfd->xvec->flavour != bfd_target_coff_flavour)
     return true;
 
   ipe = pe_data (ibfd);
@@ -3131,8 +3130,7 @@ _bfd_XX_bfd_copy_private_section_data (bfd *ibfd,
                                       struct bfd_link_info *link_info)
 {
   if (link_info != NULL
-      || bfd_get_flavour (ibfd) != bfd_target_coff_flavour
-      || bfd_get_flavour (obfd) != bfd_target_coff_flavour)
+      || bfd_get_flavour (ibfd) != bfd_target_coff_flavour)
     return true;
 
   if (coff_section_data (ibfd, isec) != NULL
index 88c4482fe1753d601ca5cf7cf6c57844915f23f3..59189161a300c7e9c8a44a008188cf7bc8eb8cb4 100644 (file)
@@ -1669,11 +1669,6 @@ bfd_malloc_and_get_section (bfd *abfd, sec_ptr sec, bfd_byte **buf)
 FUNCTION
        bfd_copy_private_section_data
 
-SYNOPSIS
-       bool bfd_copy_private_section_data
-         (bfd *ibfd, asection *isec, bfd *obfd, asection *osec,
-          struct bfd_link_info *link_info);
-
 DESCRIPTION
        Copy private section information from @var{isec} in the BFD
        @var{ibfd} to the section @var{osec} in the BFD @var{obfd}.
index bed2e9b5e8ba934bcbd4bdd2dbedd9f4594647e6..3d1cd0e828c775e353180f7e53666611fc24b69f 100644 (file)
--- a/bfd/som.c
+++ b/bfd/som.c
@@ -5346,19 +5346,17 @@ som_new_section_hook (bfd *abfd, asection *newsect)
 static bool
 som_bfd_copy_private_symbol_data (bfd *ibfd,
                                  asymbol *isymbol,
-                                 bfd *obfd,
+                                 bfd *obfd ATTRIBUTE_UNUSED,
                                  asymbol *osymbol)
 {
-  struct som_symbol *input_symbol = (struct som_symbol *) isymbol;
-  struct som_symbol *output_symbol = (struct som_symbol *) osymbol;
-
   /* One day we may try to grok other private data.  */
-  if (ibfd->xvec->flavour != bfd_target_som_flavour
-      || obfd->xvec->flavour != bfd_target_som_flavour)
+  if (ibfd->xvec->flavour != bfd_target_som_flavour)
     return false;
 
   /* The only private information we need to copy is the argument relocation
      bits.  */
+  struct som_symbol *input_symbol = (struct som_symbol *) isymbol;
+  struct som_symbol *output_symbol = (struct som_symbol *) osymbol;
   output_symbol->tc_data.ap.hppa_arg_reloc =
     input_symbol->tc_data.ap.hppa_arg_reloc;
 
@@ -5378,7 +5376,6 @@ som_bfd_copy_private_section_data (bfd *ibfd,
   /* One day we may try to grok other private data.  */
   if (link_info != NULL
       || ibfd->xvec->flavour != bfd_target_som_flavour
-      || obfd->xvec->flavour != bfd_target_som_flavour
       || (!som_is_space (isection) && !som_is_subspace (isection)))
     return true;
 
@@ -5417,8 +5414,7 @@ static bool
 som_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
 {
   /* One day we may try to grok other private data.  */
-  if (ibfd->xvec->flavour != bfd_target_som_flavour
-      || obfd->xvec->flavour != bfd_target_som_flavour)
+  if (ibfd->xvec->flavour != bfd_target_som_flavour)
     return true;
 
   /* Allocate some memory to hold the data we need.  */
index b8f21c5fc0c4c1b63c59c223bdd1c41036c6c58a..8fff571a1ee233fb9072ca273437f2b10b94c470 100644 (file)
@@ -796,10 +796,6 @@ bfd_symbol_info (asymbol *symbol, symbol_info *ret)
 FUNCTION
        bfd_copy_private_symbol_data
 
-SYNOPSIS
-       bool bfd_copy_private_symbol_data
-         (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
-
 DESCRIPTION
        Copy private symbol information from @var{isym} in the BFD
        @var{ibfd} to the symbol @var{osym} in the BFD @var{obfd}.
This page took 0.246031 seconds and 5 git commands to generate.