ld: Add _bfd_elf_link_hide_sym_by_version
[external/binutils.git] / bfd / ChangeLog
index f158067..0419bec 100644 (file)
@@ -1,3 +1,254 @@
+2018-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23194
+       * elf-bfd.h (_bfd_elf_link_hide_sym_by_version): New.
+       * elflink.c (_bfd_elf_link_hide_versioned_symbol): New function.
+       Extracted from _bfd_elf_link_assign_sym_version.
+       (_bfd_elf_link_hide_sym_by_version): New function.
+       (_bfd_elf_link_assign_sym_version): Use
+       _bfd_elf_link_hide_versioned_symbol.
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Call
+       _bfd_elf_link_hide_sym_by_version instead of
+       bfd_hide_sym_by_version.  Don't check unversioned symbol.
+
+2018-05-25  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2018-05-25  Alan Modra  <amodra@gmail.com>
+
+       * configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
+       * configure: Regenerate.
+
+2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf64-ppc.c (ppc64_elf_write_core_note): Add ATTRIBUTE_NONSTRING
+       to data.
+
+2018-05-22  Alan Modra  <amodra@gmail.com>
+
+       PR 23207
+       * elf32-hppa.c (hppa_get_stub_entry): Return NULL when link_sec
+       is NULL.
+       (elf32_hppa_size_stubs): Only create stubs for load, alloc, code
+       sections.
+       (final_link_relocate): Revert last change.
+
+2018-05-22  Alan Modra  <amodra@gmail.com>
+
+       PR 23207
+       * elf32-hppa.c (final_link_relocate): Don't look for plt call
+       stubs in non-alloc sections.
+
+2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23201
+       * aout-target.h (MY_bfd_link_hide_symbol): New.
+       * aout-tic30.c (MY_bfd_link_hide_symbol): Likewise.
+       * binary.c (binary_bfd_link_hide_symbol): Likewise.
+       * coff-alpha.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
+       * coff-mips.c (_bfd_ecoff_bfd_link_hide_symbol): Likewise.
+       * coff-rs6000.c (_bfd_xcoff_bfd_link_hide_symbol): Likewise.
+       * coffcode.h (coff_bfd_link_hide_symbol): Likewise.
+       * elf-bfd.h (_bfd_elf_link_hide_symbol): Likewise.
+       * elfxx-target.h (bfd_elfNN_bfd_link_hide_symbol): Likewise.
+       * i386msdos.c (msdos_bfd_link_hide_symbol): Likewise.
+       * ihex.c (ihex_bfd_link_hide_symbol): Likewise.
+       * libbfd-in.h (_bfd_nolink_bfd_link_hide_symbol): Likewise.
+       * linker.c (_bfd_generic_link_hide_symbol): Likewise.
+       (bfd_link_hide_symbol): Likewise.
+       * mach-o-target.c (bfd_mach_o_bfd_link_hide_symbol): Likewise.
+       * mmo.c (mmo_bfd_link_hide_symbol): Likewise.
+       * pef.c (bfd_pef_bfd_link_hide_symbol): Likewise.
+       * plugin.c (bfd_plugin_bfd_link_hide_symbol): Likewise.
+       * ppcboot.c (ppcboot_bfd_link_hide_symbol): Likewise.
+       * som.c (som_bfd_link_hide_symbol): Likewise.
+       * srec.c (srec_bfd_link_hide_symbol): Likewise.
+       * tekhex.c (tekhex_bfd_link_hide_symbol): Likewise.
+       * vms-alpha.c (vms_bfd_link_hide_symbol): Likewise.
+       (alpha_vms_bfd_link_hide_symbol): Likewise.
+       * xsym.c (bfd_sym_bfd_link_hide_symbol): Likewise.
+       * coff64-rs6000.c (rs6000_xcoff64_vec): Add
+       _bfd_generic_link_hide_symbol.
+       (rs6000_xcoff64_aix_vec): Likewise.
+       * elflink.c (bfd_elf_record_link_assignment): Don't make forced
+       local symbol dynamic.
+       (_bfd_elf_link_hide_symbol): New function.
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+       check root.ldscript_def.
+       * targets.c (bfd_target): Add _bfd_link_hide_symbol.
+       (BFD_JUMP_TABLE_LINK): Add NAME##_bfd_link_hide_symbol.
+       * bfd-in2.h: Regenerated.
+       * libbfd.h: Likewise.
+
+2018-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/23199
+       * elf.c (setup_group): Mark section in a section group with
+       SHF_GROUP.
+
+2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23194
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+       set eh->local_ref to 1 if a symbol is versioned and there is a
+       version script.
+
+2018-05-18  Kito Cheng  <kito.cheng@gmail.com>
+
+       * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Handle
+       EF_RISCV_RVE.
+
+2018-05-18  Jim Wilson  <jimw@sifive.com>
+
+       * elfnn-riscv.c (allocate_dynrelocs): Discard dynamic relocations if
+       UNDEFWEAK_NO_DYNAMIC_RELOC is true.
+       (riscv_elf_relocate_section): Don't generate dynamic relocation if
+       UNDEFWEAK_NO_DYNAMIC_RELOC is true.
+       (riscv_elf_finish_dynamic_symbol): Likewise.
+
+2018-05-18  John Darrington  <john@darrington.wattle.id.au>
+
+       * Makefile.am: Add s12z files.
+       * Makefile.in: Regenerate.
+       * archures.c: Add bfd_s12z_arch.
+       * bfd-in.h: Add exports of bfd_putb24 and bfd_putl24.
+       * bfd-in2.h: Regenerate.
+       * config.bfd: Add s12z target.
+       * configure.ac: Add s12z target.
+       * configure: Regenerate.
+       * cpu-s12z.c: New file.
+       * elf32-s12z.c: New file.
+       * libbfd.c (bfd_putb24): New function.
+       (bfd_putl24): New function.
+       * libbfd.h: Regenerate.
+       * reloc.c: Add s12z relocations.
+       (bfd_get_reloc_size): Handle size 5 relocs.
+       * targets.c: Add s12z_elf32_vec.
+
+2018-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23189
+       * elf32-i386.c (elf_i386_relocate_section): Handle R_386_GOT32X
+       like R_386_GOT32.
+       * elfxx-x86.c (_bfd_x86_elf_link_symbol_references_local): Don't
+       set eh->local_ref to 1 for linker defined symbols.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+       PR 23199
+       * elf.c (setup_group): Formatting.  Check that SHT_GROUP entries
+       don't point at other SHT_GROUP sections.  Set shdr corresponding
+       to invalid entry, to NULL rather than section 0.  Identify
+       SHT_GROUP section index when reporting an error.  Cope with NULL
+       shdr pointer.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+       * libbfd-in.h (ATTRIBUTE_HIDDEN): Define and use throughout.
+       * configure.ac (HAVE_HIDDEN): Check compiler support for hidden
+       visibility.
+       * libbfd.h: Regenerate.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2018-05-18  Alan Modra  <amodra@gmail.com>
+
+       * libbfd-in.h: Add include guard.
+       * libcoff-in.h: Likewise.
+       * doc/Makefile.am (libbfd.h, libcoff.h): Append another #endif.
+       * doc/Makefile.in: Regenerate.
+       * libbfd.h: Regenerate.
+       * libcoff.h: Regenerate.
+
+2018-05-16  Maciej W. Rozycki  <macro@mips.com>
+
+       * elf32-nds32.c (nds32_convert_32_to_16): Preset `insn_type'.
+
+2018-05-16  Alan Modra  <amodra@gmail.com>
+
+       PR 22458
+       * format.c (struct bfd_preserve): Add section_id.
+       (bfd_preserve_save, bfd_preserve_restore): Save and restore
+       _bfd_section_id.
+       (bfd_reinit): Set _bfd_section_id.
+       (bfd_check_format_matches): Put all matches of any priority into
+       matching_vector.  Save initial section id and start each attempted
+       match at that section id.
+       * libbfd-in.h (_bfd_section_id): Declare.
+       * section.c (_bfd_section_id): Rename from section_id and make
+       global.  Adjust uses.
+       (bfd_get_next_section_id): Delete.
+       * elf64-ppc.c (ppc64_elf_setup_section_lists): Replace use of
+       bfd_get_section_id with _bfd_section_id.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2018-05-15  Christophe Guillon  <christophe.guillon@st.com>
+
+       * coffcode.h (coff_bigobj_swap_aux_in): Make sure that all fields
+       of the aux structure are initialised.
+
+2018-05-15  Francois H. Theron  <francois.theron@netronome.com>
+
+       * targets.c: Wrap nfp_elf64_vec in BFD64 ifdef.
+
+2018-05-15  Nick Clifton  <nickc@redhat.com>
+
+       * po/pt.po: New Portuguese translation.
+       * configure.ac (ALL_LINGUAS): Add pt.
+       * configure: Regenerate.
+
+2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23169
+       * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
+       an error on IFUNC pointer defined in PDE.
+       * elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
+       _bfd_x86_elf_link_fixup_ifunc_symbol.
+       * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
+       * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
+       function.
+       * elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.
+
+2018-05-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/23162
+       * elfxx-x86.c (elf_x86_linker_defined): New function.
+       (_bfd_x86_elf_link_check_relocs): Use it to mark __bss_start,
+       _end and _edata locally defined within executables.
+
+2018-05-12  Alan Modra  <amodra@gmail.com>
+
+       PR 20659
+       * elf.c (rewrite_elf_program_header): Use segment_mark only for
+       PT_LOAD headers.  Delete first_matching_lma and first_suggested_lma.
+       Instead make matching_lma and suggested_lma pointers to the
+       sections.  Align section vma and lma calculated from segment.
+       Don't clear includes_phdrs or includes_filehdr based on p_paddr
+       test.  Try to handle alignment padding before first section by
+       adjusting new segment lma down.  Adjust PT_PHDR map p_paddr.
+
+2018-05-09  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * elf32-pru.c (pru_elf32_do_ldi32_relocate): Make LDI32 relocation
+       conformant to TI ABI.
+       (pru_elf32_relax_section): Likewise.
+       (pru_elf_relax_delete_bytes): Fix offsets for new LDI32 code.
+       * elf32-pru.c (pru_elf32_do_ldi32_relocate): Ignore addend.
+       (pru_elf32_pmem_relocate): Trap - should not get here.
+       (pru_elf32_relocate_section): Add support for REL relocations.
+       (elf_info_to_howto_rel): Enable REL.
+       (elf_backend_may_use_rel_p): Likewise.
+       (elf_backend_may_use_rela_p): Likewise.
+       (elf_backend_default_use_rela_p): Likewise.
+
+2018-05-09  Alan Modra  <amodra@gmail.com>
+
+       PR 23148
+       * peXXigen.c (pe_print_edata): Correct minimum size.
+
 2018-05-09  Alan Modra  <amodra@gmail.com>
 
        PR 23147