From cc364be6ff45669150077387f22723de33d5f1b1 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 24 Jul 2019 09:43:30 +0930 Subject: Complain about mbind, ifunc, and unique in final_write It's not as good as complaining in gas/config/obj-elf.c since you lose any reference to the source file. bfd/ * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from elf_backend_final_write_processing, don't pass linker arg. (_bfd_elf_final_write_processing): Update prototype. * elf.c (_bfd_elf_write_object_contents): Adjust call. (_bfd_elf_final_write_processing): Return error on incompatible OSABI and has_gnu_osabi. Remove linker arg. * elf-nacl.h (nacl_final_write_processing): Update prototype. * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise. * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise. (_bfd_mips_elf_final_write_processing): Likewise. * elf-hppa.h (elf_hppa_final_write_processing): Return status and remove linker arg. * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise. * elf-nacl.c (nacl_final_write_processing): Likewise. * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise. * elf32-arc.c (arc_elf_final_write_processing): Likewise. * elf32-arm.c (arm_final_write_processing): Likewise. (elf32_arm_final_write_processing): Likewise. (elf32_arm_nacl_final_write_processing): Likewise. (elf32_arm_vxworks_final_write_processing): Likewise. * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise. * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise. * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise. * elf32-cris.c (cris_elf_final_write_processing): Likewise. * elf32-h8300.c (elf32_h8_final_write_processing): Likewise. * elf32-lm32.c (lm32_elf_final_write_processing): Likewise. * elf32-m32r.c (m32r_elf_final_write_processing): Likewise. * elf32-m68k.c (elf_m68k_final_write_processing): Likewise. * elf32-mips.c (mips_vxworks_final_write_processing): Likewise. * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise. * elf32-nds32.c (nds32_elf_final_write_processing): Likewise. * elf32-or1k.c (or1k_elf_final_write_processing): Likewise. * elf32-pj.c (pj_elf_final_write_processing): Likewise. * elf32-ppc.c (ppc_final_write_processing): Likewise. (ppc_elf_final_write_processing): Likewise. (ppc_elf_vxworks_final_write_processing): Likewise. * elf32-sparc.c (sparc_final_write_processing): Likewise. (elf32_sparc_final_write_processing): Likewise. (elf32_sparc_vxworks_final_write_processing): Likewise. * elf32-v850.c (v850_elf_final_write_processing): Likewise. * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise. * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise. * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise. * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise. * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise. (_bfd_mips_elf_final_write_processing): Likewise. gas/ * config/obj-elf.c (obj_elf_section, obj_elf_type): Set has_gnu_osabi. * testsuite/gas/elf/section12a.d: Update xfails. * testsuite/gas/elf/section12b.d: Likewise. --- bfd/elf32-arm.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'bfd/elf32-arm.c') diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 6313949..15591be 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -17915,16 +17915,16 @@ elf32_arm_reloc_type_class (const struct bfd_link_info *info ATTRIBUTE_UNUSED, } static void -arm_final_write_processing (bfd *abfd, bfd_boolean linker ATTRIBUTE_UNUSED) +arm_final_write_processing (bfd *abfd) { bfd_arm_update_notes (abfd, ARM_NOTE_SECTION); } -static void -elf32_arm_final_write_processing (bfd *abfd, bfd_boolean linker) +static bfd_boolean +elf32_arm_final_write_processing (bfd *abfd) { - arm_final_write_processing (abfd, linker); - _bfd_elf_final_write_processing (abfd, linker); + arm_final_write_processing (abfd); + return _bfd_elf_final_write_processing (abfd); } /* Return TRUE if this is an unwinding table entry. */ @@ -20600,11 +20600,11 @@ elf32_arm_nacl_modify_segment_map (bfd *abfd, struct bfd_link_info *info) && nacl_modify_segment_map (abfd, info)); } -static void -elf32_arm_nacl_final_write_processing (bfd *abfd, bfd_boolean linker) +static bfd_boolean +elf32_arm_nacl_final_write_processing (bfd *abfd) { - arm_final_write_processing (abfd, linker); - nacl_final_write_processing (abfd, linker); + arm_final_write_processing (abfd); + return nacl_final_write_processing (abfd); } static bfd_vma @@ -20755,11 +20755,11 @@ elf32_arm_vxworks_link_hash_table_create (bfd *abfd) return ret; } -static void -elf32_arm_vxworks_final_write_processing (bfd *abfd, bfd_boolean linker) +static bfd_boolean +elf32_arm_vxworks_final_write_processing (bfd *abfd) { - arm_final_write_processing (abfd, linker); - elf_vxworks_final_write_processing (abfd, linker); + arm_final_write_processing (abfd); + return elf_vxworks_final_write_processing (abfd); } #undef elf32_bed -- cgit v1.1