Check ELF relocs after opening all input files
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 5d39624b7db408f66dd2487762901bf0a9ae3f2a..a0304b682a2f4d847e8c2b5dd14d437cd6e31059 100644 (file)
@@ -1,3 +1,361 @@
+2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (_bfd_elf_link_check_relocs): New.
+       * elflink.c (_bfd_elf_link_check_relocs): New function.
+       (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
+       if check_relocs_after_open_input is FALSE.
+
+2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * cache.c: Update old style function definitions.
+       * elf32-m68k.c: Likewise.
+       * elf64-mmix.c: Likewise.
+       * stab-syms.c: Likewise.
+
+2016-04-20  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
+
+2016-04-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.in: Regenerated with automake 1.11.6.
+       * aclocal.m4: Likewise.
+       * doc/Makefile.in: Likewise.
+
+2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elf32-arc.c: Add 'opcode/arc.h' include.
+       (struct arc_relocation_data): Add symbol_name.
+       (arc_special_overflow_checks): New function.
+       (arc_do_relocation): Use arc_special_overflow_checks, reindent as
+       required, add an extra comment.
+       (elf_arc_relocate_section): Setup symbol_name in reloc_data.
+
+2016-04-14  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
+       entries.
+       (elf_arc_relocate_section): Update enum uses.
+       (elf_arc_check_relocs): Likewise.
+       (elf_arc_finish_dynamic_symbol): Likewise.
+
+2016-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
+       "sh_link".
+
+2016-04-14  Nick Clifton  <nickc@redhat.com>
+
+       PR target/19938
+       * elf-bbfd.h (struct elf_backend_data): New field:
+       elf_strtab_flags.
+       New field: elf_backend_set_special_section_info_and_link
+       * elfxx-target.h (elf_backend_strtab_flags): Define if not already
+       defined.
+       (elf_backend_set_special_section_info_and_link): Define if not
+       already defined.
+       (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
+       elf_backend_strtab_flags macros to initialise fields in structure.
+       * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
+       being set even if SHF_MERGE is not set.
+       (elf_fake_sections): Likewise.
+       (section_match): New function.  Matches two ELF sections based
+       upon fixed characteristics.
+       (find_link): New function.  Locates a section in a BFD that
+       matches a section in a different BFD.
+       (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
+       fields of reserved sections.
+       (bfd_elf_compute_section_file_positions): Set the flags for the
+       .shstrtab section based upon the elf_strtab_flags field in the
+       elf_backend_data structure.
+       (swap_out_syms): Likewise for the .strtab section.
+       * elflink.c (bfd_elf_final_link): Set the flags for the
+       .strtab section based upon the elf_strtab_flags field in the
+       elf_backend_data structure.
+       * elf32-i386.c (elf32_i386_set_special_info_link): New function.
+       (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
+       targets.
+       (elf_backend_set_special_section_info_and_link): Define for
+       Solaris targets.
+       * elf32-sparc.c: Likewise.
+       * elf64-x86-64.c: Likewise.
+
+2016-04-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19939
+       * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
+       to bfd_boolean.
+       * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
+       Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
+       applies to read-only section.
+       * elf32-i386.c (elf_i386_link_hash_table): Add
+       readonly_dynrelocs_against_ifunc.
+       (elf_i386_allocate_dynrelocs): Updated.
+       (elf_i386_size_dynamic_sections): Issue an error for read-only
+       segment with dynamic IFUNC relocations only if
+       readonly_dynrelocs_against_ifunc is TRUE.
+       * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
+       readonly_dynrelocs_against_ifunc.
+       (elf_x86_64_allocate_dynrelocs): Updated.
+       (elf_x86_64_size_dynamic_sections): Issue an error for read-only
+       segment with dynamic IFUNC relocations only if
+       readonly_dynrelocs_against_ifunc is TRUE.
+       * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
+       Updated.
+
+2016-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
+       a fall through from error_ret_free_internal.  Free local_syms in
+       error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
+
+2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
+       (relocate_plt_for_entry): Likewise.
+
+2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (elf_arc_check_relocs): Changed
+
+2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (name_for_global_symbol): Changed assert.
+       (get_replace_function): Created.:
+       (struct arc_relocation_data): Changed to signed types.
+       (defines S, L, P, PDATA): Casted to signed type.
+       (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
+       (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
+       (arc_do_relocation): Changed.
+
+2016-04-05  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (name_for_global_symbol): Added assert to check for
+       symbol index.
+       (elf_arc_relocate_section): Added and changed asserts, validating
+       the synamic symbol index.
+       (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
+       relocation if symbol has dynindx set to -1.
+
+2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * elflink.c (elf_link_add_object_symbols): Always turn hidden
+       and internal symbols which have a dynamic index into local
+       ones.
+
+2016-04-04  Nick Clifton  <nickc@redhat.com>
+
+       PR 19872
+       * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
+       version number if the version is zero.
+
+2016-04-01  Alan Modra  <amodra@gmail.com>
+
+       PR 19886
+       * elflink.c (on_needed_list): Recursively check needed status.
+       (elf_link_add_object_symbols): Adjust.
+
+2016-03-30  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+       * elf32-avr.c (avr_elf32_load_records_from_section): Free
+       internal_relocs only if they aren't cached.
+
+2016-03-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 17334
+       * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
+       assertion on the size of the got section to allow it to be bigger
+       than the number of relocs.
+
+2016-03-29  Toni Spets  <toni.spets@iki.fi>
+
+       PR 19878
+       * coffcode.h (coff_write_object_contents): Revert accidental
+       2014-11-10 change.
+
+2016-03-22  Alan Modra  <amodra@gmail.com>
+
+       PR 19850
+       * dwarf2.c (read_attribute_value): Skip info_ptr check for
+       DW_FORM_flag_present.
+
+2016-03-22  Nick Clifton  <nickc@redhat.com>
+
+       * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
+       architecture name for backwards compatibility.
+
+       * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
+       unbounded stack use.
+
+       * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
+       sufficiently recent version of GCC.
+       * configure: Regenerate.
+
+2016-03-22  Alan Modra  <amodra@gmail.com>
+
+       PR 19851
+       * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
+
+2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * archures.c (bfd_mach_arc_nps400): Define.
+       * bfd-in2.h: Regenerate.
+       * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
+       some existing entries to make space.
+       * elf32-arc.c (arc_elf_object_p): Add nps400 case.
+       (arc_elf_final_write_processing): Likewise.
+
+2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
+       EF_ARC_CPU_GENERIC.
+       (arc_elf_final_write_processing): Don't bother setting cpu field
+       in e_flags, this will have been set elsewhere.
+
+2016-03-21  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * elf32-arc.c (arc_elf_final_write_processing): Switch to using
+       EF_ARC_MACH_MSK.
+
+2016-03-21  Nick Clifton  <nickc@redhat.com>
+
+       * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
+       * configure: Regenerate.
+       * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
+       alloca with call to xmalloc.
+       * elf32-nds32.c: Likewise.
+       * elf64-hppa.c: Likewise.
+       * elfxx-mips.c: Likewise.
+       * pef.c: Likewise.
+       * pei-x86_64.c: Likewise.
+       * som.c: Likewise.
+       * xsym.c: Likewise.
+
+2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19827
+       * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
+       locally in PIE.
+       (elf_i386_relocate_section): Likewise.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+       (elf_x86_64_relocate_section): Likewise.
+
+2016-03-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19807
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Check
+       no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
+       relocation overflow check.
+
+2016-03-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd-in2.h: Regenerated.
+
+2016-03-11  Dan Gissel  <dgisselq@ieee.org>
+
+       PR 19713
+       * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
+       uses bytes not octets.
+       * elflink.c (resolve_section): Likewise.
+       Add a bfd parameter.
+       (eval_section): Pass the input_bfd to resolve_section.
+       (bfd_elf_perform_complex_relocation): Convert byte offset to
+       octets before read and writing values.
+       (elf_link_input_bfd): Add byte to octet conversions.
+       (elf_reloc_link_order): Likewise.
+       (elf_fixup_link_order): Likewise.
+       (bfd_elf_final_link): Likewise.
+       * reloc.c (_bfd_final_link_relocate): Likewise.
+       * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
+
+2016-03-10  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Mark the i370 target as obsolete.
+
+2016-03-09  Pedro Alves  <palves@redhat.com>
+
+       * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
+       gcc ABI)" to printable name.
+       * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
+       of "v850-rh850" as printable name.
+
+2016-03-09  Leon Winter  <winter-gcc@bfw-online.de>
+
+       PR ld/19623
+       * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
+       relocations against absolute symbols.
+
+2016-03-09  Alan Modra  <amodra@gmail.com>
+
+       PR binutils/19775
+       * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
+       length elements in the archive.
+
+2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19789
+       * elflink.c (elf_link_add_object_symbols): Create dynamic sections
+       for -E/--dynamic-list only when not relocatable.
+
+2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19784
+       * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
+       count for locally defined local IFUNC symbols in shared object.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+
+2016-03-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19579
+       * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
+       together.
+
+2016-03-08  Cupertino Miranda  <Cupertino.Miranda@synopsys.com>
+           Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
+       (arc_bfd_put_32): Becomes an alias for bfd_put_32.
+       (arc_elf_howto_init): Added assert to validate relocations.
+       (get_middle_endian_relocation): Delete.
+       (middle_endian_convert): New function.
+       (ME): Redefine, now does nothing.
+       (IS_ME): New define.
+       (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
+       definition to call middle_endian_convert.  Add a new local
+       variable and make use of this throughout. Added call to
+       arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
+
+2016-03-07  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/19775
+       * archive.c (bfd_generic_openr_next_archived_file): Allow zero
+       length elements in the archive.
+
+2016-03-07  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
+       section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
+
+2016-03-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/19579
+       * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
+       executable as definition if the new definition comes from a
+       shared library.
+
+2016-03-02  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2016-02-29  Cupertino Miranda  <cmiranda@synopsys.com>
+
+       * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
+       relocation addend when sections get merged.
+
 2016-02-29  Cupertino Miranda <Cupertino.Miranda@synopsys.com>
 
        * elf32-arc.c (arc_elf_final_write_processing): Add condition to
This page took 0.027988 seconds and 4 git commands to generate.