bfd, include, ld, binutils, libctf: CTF should use the dynstr/sym
[binutils-gdb.git] / bfd / ChangeLog
index 468c6f64c31450bb43a917427fea868c24eea610..b2553a651663c65d6deeccb91cb69bec3fe710e8 100644 (file)
@@ -1,3 +1,185 @@
+2020-11-20  Nick Alcock  <nick.alcock@oracle.com>
+
+       * elflink.c (elf_finalize_dynstr): Call examine_strtab after
+       dynstr finalization.
+       (elf_link_swap_symbols_out): Don't call it here.  Call
+       ctf_new_symbol before swap_symbol_out.
+       (elf_link_output_extsym): Call ctf_new_dynsym before
+       swap_symbol_out.
+       (bfd_elf_final_link): Likewise.
+       * elf.c (swap_out_syms): Pass in bfd_link_info.  Call
+       ctf_new_symbol before swap_symbol_out.
+       (_bfd_elf_compute_section_file_positions): Adjust.
+
+2020-11-19  Nick Clifton  <nickc@redhat.com>
+
+       PR 26918
+       * elf64-s390.c (elf_s390_finish_dynamic_sections): Check for the
+       existance of an sgot output section before setting the
+       sh_entsize.
+
+2020-11-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+       H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_retain.
+       (struct elf_obj_tdata): Increase has_gnu_osabi to 4 bits.
+       * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_retain
+       for SHF_GNU_RETAIN.
+       (_bfd_elf_final_write_processing): Report if SHF_GNU_RETAIN is
+       not supported by the OSABI.
+       Adjust error messages.
+       * elflink.c (elf_link_input_bfd): Copy enabled has_gnu_osabi bits from
+       input BFD to output BFD.
+       (bfd_elf_gc_sections): gc_mark the section if SHF_GNU_RETAIN is set.
+
+2020-11-16  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * cpu-arm.c (processors): Add Cortex-A78C.
+
+2020-11-11  Tom Tromey  <tromey@adacore.com>
+
+       * archive.c (getuid, getgid): Move...
+       * sysdep.h (getuid, getgid): ...here.
+
+2020-11-09  Alan Modra  <amodra@gmail.com>
+
+       * vms-alpha.c (alpha_vms_write_exec): Write 16 bits to eihd.alias.
+
+2020-11-09  Alan Modra  <amodra@gmail.com>
+
+       * archive.c (bfd_ar_hdr_from_filesystem): Use bfd_set_input_error
+       when stat of archive member fails.
+       * coff-rs6000.c (xcoff_write_archive_contents_old),
+       (xcoff_write_archive_contents_big): Likewise, and handle in-memory
+       bfd.
+
+2020-11-03  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (bfd_section_from_shdr): Free sections_being_created.
+       Use bfd_zmalloc.
+
+2020-11-02  Alan Modra  <amodra@gmail.com>
+
+       PR 15146
+       PR 26314
+       PR 26530
+       PR 26806
+       * elflink.c (elf_link_add_object_symbols): Don't set def/ref flags
+       for plugin syms.  Do allow plugin syms to mark as-needed libs.
+
+2020-10-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/26703
+       * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Generate
+       GNU_PROPERTY_X86_ISA_1_BASELINE for -z x86-64-baseline.
+
+2020-10-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 26809
+       * elf.c (_bfd_elf_slurp_secondary_reloc_section): Use the correct
+       sized reloc reading function.
+       (_bfd_elf_write_secondary_reloc_section): Use the correct sized
+       reloc writing function.
+
+2020-10-28  Nick Clifton  <nickc@redhat.com>
+
+       PR 26774
+       * srec.c (srec_write_symbols): Do not emit symbols in sections
+       that have been removed from the output.
+
+2020-10-27  Nick Clifton  <nickc@redhat.com>
+
+       * elf64-hppa.c (elf_hppa_final_link_relocate): Check that the
+       symbol's section is being output before adding its offset to the
+       addend when processing R_PARISC_SECREL32.
+
+2020-10-25  Alan Modra  <amodra@gmail.com>
+
+       * vms-misc.c (_bfd_vms_save_counted_string): Count length byte
+       towards maxlen.
+
+2020-10-20  Dr. David Alan Gilbert  <dgilbert@redhat.com>
+
+       * po/es.po: Fix printf format.
+
+2020-10-16  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_elf_link_hash_table): Add last_iplt_index.
+       (riscv_elf_size_dynamic_sections): Initialize the last_iplt_index.
+       (riscv_elf_relocate_section): Use riscv_elf_append_rela.
+       (riscv_elf_finish_dynamic_symbol): If the use_elf_append_rela is
+       false, then we should add the dynamic relocs from the last of
+       the .rela.iplt, and don't use the riscv_elf_append_rela to add.
+
+2020-10-16  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c: Include "objalloc.h" since we need objalloc_alloc.
+       (riscv_elf_link_hash_table): Add loc_hash_table and loc_hash_memory
+       for local STT_GNU_IFUNC symbols.
+       (riscv_elf_got_plt_val): Removed.
+       (riscv_elf_local_htab_hash, riscv_elf_local_htab_eq): New functions.
+       Use to compare local hash entries.
+       (riscv_elf_get_local_sym_hash): New function.  Find a hash entry for
+       local symbol, and create a new one if needed.
+       (riscv_elf_link_hash_table_free): New function.  Destroy an riscv
+       elf linker hash table.
+       (riscv_elf_link_hash_table_create): Create hash table for local ifunc.
+       (riscv_elf_check_relocs): Create a fake global symbol to track the
+       local ifunc symbol.  Add support to check and handle the relocations
+       reference to ifunc symbols.
+       (allocate_dynrelocs): Let allocate_ifunc_dynrelocs and
+       allocate_local_ifunc_dynrelocs to handle the ifunc symbols if they
+       are defined and referenced in a non-shared object.
+       (allocate_ifunc_dynrelocs): New function.  Allocate space in .plt,
+       .got and associated reloc sections for ifunc dynamic relocs.
+       (allocate_local_ifunc_dynrelocs): Likewise, but for local ifunc
+       dynamic relocs.
+       (riscv_elf_relocate_section): Add support to handle the relocation
+       referenced to ifunc symbols.
+       (riscv_elf_size_dynamic_sections): Updated.
+       (riscv_elf_adjust_dynamic_symbol): Updated.
+       (riscv_elf_finish_dynamic_symbol): Finish up the ifunc handling,
+       including fill the PLT and GOT entries for ifunc symbols.
+       (riscv_elf_finish_local_dynamic_symbol): New function.  Called by
+       riscv_elf_finish_dynamic_symbol to handle the local ifunc symbols.
+       (_bfd_riscv_relax_section): Don't do the relaxation for ifunc.
+       * elfxx-riscv.c: Add R_RISCV_IRELATIVE.
+       * configure.ac: Link elf-ifunc.lo to use the generic ifunc support.
+       * configure: Regenerated.
+
+2020-10-16  Alan Modra  <amodra@gmail.com>
+
+       * elf32-arc.c (replace_func): Correct return type.
+       (get_replace_function): Use a replace_func function pointer rather
+       than void*.  Update associated ARC_RELOC_HOWTO define.
+
+2020-10-16  Alan Modra  <amodra@gmail.com>
+
+       * elf32-cr16.c: Formatting.
+       (cr16_elf_final_link_relocate): Sign extend rather than clumsy
+       "add or subtract" of offset value.  Simplify range checks.  Move
+       common code out of "if" branches.  Don't refetch insn fields
+       needlessly.
+
+2020-10-16  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Tighten sanity check
+       on R_PPC64_GOT_LO_DS and R_PPC64_GOT_HA instructions.
+
+2020-10-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (write_plt_relocs_for_local_syms): Don't do local
+       entry offset optimisation.
+
+2020-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/26703
+       * elf-linker-x86.h (elf_linker_x86_params): Add isa_level.
+       * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Merge
+       GNU_PROPERTY_X86_ISA_1_V[234].
+       (_bfd_x86_elf_link_setup_gnu_properties): Generate
+       GNU_PROPERTY_X86_ISA_1_V[234] for -z x86-64-v[234].
+
 2020-10-06  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/26711
        * elflink.c (bfd_elf_gc_sections): Do not arbitrarily keep note
        sections which are linked to another section.
 
+2020-09-30  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
+
+       * cpu-arm.c: Add cortex-a78 and cortex-a78ae.
+
 2020-09-28  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
 
        * cpu-arm.c: (processors) Add Cortex-X1.