Support .gnu.lto_.lto section in ELF files (PR 24768).
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 7daec6bba79f86da28d4593ef091156c247de247..425835179267bdbda021a47be762dab8fd947dd8 100644 (file)
@@ -1,3 +1,256 @@
+2019-07-29  Martin Liska  <mliska@suse.cz>
+
+       PR 24768
+       * archive.c (_bfd_compute_and_write_armap): Come up with
+       report_plugin_err variable.
+       * bfd-in2.h (struct bfd): Add lto_slim_object flag.
+       * elf.c (struct lto_section): New.
+       (_bfd_elf_make_section_from_shdr): Parse content of
+       .gnu_lto_.lto section.
+       * elflink.c: Report error for a missing LTO plugin.
+       * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
+
+2019-07-28  Alan Modra  <amodra@gmail.com>
+
+       PR 24857
+       PR 24339
+       * elflink.c (elf_link_add_object_symbols): Report an informative
+       error on finding local symbols with index equal or greater than
+       symbol table sh_info.  Correct comment.  Allow such symbols in
+       dynamic objects.  Abort on NULL section for symbol.
+
+2019-07-26  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
+       (elf_linker): Don't define.
+       * elflink.c (bfd_elf_final_link): Don't set elf_linker.
+
+2019-07-25  YunQiang Su  <syq@debian.org>
+
+       PR 24832
+       * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
+       mips inputs.
+
+2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * elf32-arc.c (bfd_get_32_me): Add a small description, fix
+       formating.
+       (reloc_type_to_name): Fix formating.
+       (arc_elf_object_p): Likewise.
+       (debug_arc_reloc): Likewise.
+       (arc_do_relocation): Likewise.
+
+2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * elf32-arc.c (bfd_get_32_me): New function.
+       (bfd_put_32_me): Likewise.
+       (arc_elf_relax_section): Likewise.
+       (bfd_elf32_bfd_relax_section): Define.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+       * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
+       early.
+       * elf32-arc.c (arc_elf_final_write_processing): Likewise.
+       * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
+
+2019-07-24  Alan Modra  <amodra@gmail.com>
+
+       * elf32-visium.c (visium_elf_post_process_headers): Don't set
+       EI_OSABI header byte here.
+       (ELF_OSABI): Define.
+
+2019-07-23  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
+       * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
+       (get_program_header_size): Formatting.  Only test SH_GNU_MBIND
+       when elf_gnu_osabi_mbind is set.
+       (_bfd_elf_map_sections_to_segments): Likewise.
+       (_bfd_elf_init_private_section_data): Likewise.
+       (_bfd_elf_final_write_processing): Update comment.
+       * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
+       (elf_backend_special_sections): Define without .tbss for linux.
+
+2019-07-23  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
+       Remove none, any, all enums.
+       (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
+       (_bfd_elf_final_write_processing): Declare.
+       * elf.c (_bfd_elf_write_object_contents): Unconditionally call
+       elf_backend_final_write_processing.
+       (_bfd_elf_post_process_headers): Move body of function to..
+       (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
+       only when not already set.  Adjust for rename.
+       * elfxx-target.h (elf_backend_final_write_processing): Default to
+       _bfd_elf_final_write_processing.
+       * elf-hppa.h (elf_hppa_final_write_processing): Call
+       _bfd_elf_final_write_processing.
+       * 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-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-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-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.
+       * elf32-arm.c (arm_final_write_processing): Split out from..
+       (elf32_arm_final_write_processing): ..here.  Call
+       _bfd_elf_final_write_processing.
+       (elf32_arm_nacl_final_write_processing): Adjust.
+       * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
+       (_bfd_mips_elf_final_write_processing): ..here.  Call
+       _bfd_elf_final_write_processing.
+       * elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
+       * elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
+       * elf32-ppc.c (ppc_final_write_processing): Split out from..
+       (ppc_elf_final_write_processing): ..here.  Call
+       _bfd_elf_final_write_processing.
+       (ppc_elf_vxworks_final_write_processing): Adjust.
+       * elf32-sparc.c (sparc_final_write_processing): Split out from..
+       (elf32_sparc_final_write_processing): ..here.  Call
+       _bfd_elf_final_write_processing.
+       (elf32_sparc_vxworks_final_write_processing): Adjust.
+       * elf32-d10v.c (elf_backend_final_write_processing): Don't define.
+       * elf32-d30v.c (elf_backend_final_write_processing): Don't define.
+       * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
+       * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
+       * elf32-s12z.c (elf_backend_final_write_processing): Don't define.
+       * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+       * elflink.c (elf_link_add_object_symbols): Likewise.
+       (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
+       instead.
+
+2019-07-23  Omar Majid  <omajid@redhat.com>
+
+       * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
+       I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
+       AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
+       AMD64_NETBSD_MAGIC.
+       * peXXigen.c: Add comment about source of .NET magic numbers.
+
+2019-07-19  Alan Modra  <amodra@gmail.com>
+
+       * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
+       (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
+       (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
+       (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
+       * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
+       (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
+       (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
+       (ppc64_elf_check_relocs): Support pcrel tls relocs.
+       (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
+       a TLS section symbol for edited relocs.  Tighten TLS symbol/reloc
+       match test.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (TLS_EXPLICIT): Define as 256.
+       (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
+       is more than 8 bits.
+       (ppc64_elf_tls_optimize): Likewise.  Make tls_set, tls_clear, and
+       tls_type vars unsigned int.
+       (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
+       to select r_type edit.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
+       Correct comment.
+       * elf64-ppc.c (TLS_GDIE): Likewise.
+
+2019-07-18  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
+       range of tp-relative offsets.
+
+2019-07-15  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
+       alias is no longer bfd_link_hash_defined, clear the alias.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
+       tls_sec.
+       (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
+       (_bfd_elf_init_2_index_sections): Likewise.
+       * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
+       relocations for local TLS symbols, use STN_UNDEF as the relocation
+       symbol.
+       * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
+       leave TLS symbol value in the addend.
+
 2019-07-08  Alan Modra  <amodra@gmail.com>
 
        PR 24785
This page took 0.026703 seconds and 4 git commands to generate.