Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 23d7f68264c6bad586bd33ab4c3d5bdfe8a704ac..9583ebd56b37bc5e1c93568248951db358fffebb 100644 (file)
@@ -1,3 +1,285 @@
+2016-05-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20093
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
+       GOTPCREL relocation against large section.
+
+2016-05-13  Alan Modra  <amodra@gmail.com>
+
+       * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
+       linker dynamic sections in calculating size and address of
+       dynamic tags rather than using output sections.  Remove asserts.
+       * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
+       * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
+       * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
+       * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
+       * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
+       * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
+       * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
+       * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
+       * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
+       * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
+       * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
+       * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+       * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
+       * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
+       * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
+       * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
+       * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
+       * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+       * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
+       * elflink.c (bfd_elf_final_link): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
+       * elfxx-sparc.c (sparc_finish_dyn): Likewise.  Adjust error message.
+       * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
+       don't set doit.  Look up dynobj section.
+       (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
+       invocation and dynamic tag vma calculation.  Don't test
+       boolean var == TRUE.
+       * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
+       DT_JMPREL calc.
+
+2016-05-13  Alan Modra  <amodra@gmail.com>
+
+       * elflink.c (elf_link_sort_relocs): Wrap overlong lines.  Fix
+       octets_per_byte.  Put dynamic .rela.plt last in link orders.
+       Assign output_offset for reloc sections rather than writing
+       sorted relocs from block corresponding to output_offset.
+
+2016-05-12  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
+
+2016-05-11  Andrew Bennett  <andrew.bennett@imgtec.com>
+
+       * elfxx-mips.c (print_mips_ases): Add DSPR3.
+
+2016-05-11  Alan Modra  <amodra@gmail.com>
+
+       * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
+       (elf32_hppa_check_relocs): Don't set dynobj.
+       (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
+       (elf32_hppa_build_stubs): Likewise.
+       * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
+
+2016-05-11  Alan Modra  <amodra@gmail.com>
+
+       PR 20060
+       * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
+       * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
+
+2016-05-10  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
+       aarch64_tls_transition check.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
+       enumerator.
+       (arm_stub_sym_claimed): New function.
+       (elf32_arm_create_stub): Use veneered symbol name and section if
+       veneer needs to claim its symbol, and keep logic unchanged otherwise.
+       (arm_stub_claim_sym): New function.
+       (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
+       veneered symbol, otherwise create local symbol as before.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_size_stubs): Use new macros
+       ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
+       and set branch type of a symbol.
+       (bfd_elf32_arm_process_before_allocation): Likewise.
+       (elf32_arm_relocate_section): Likewise and fix identation along the
+       way.
+       (allocate_dynrelocs_for_symbol): Likewise.
+       (elf32_arm_finish_dynamic_symbol): Likewise.
+       (elf32_arm_swap_symbol_in): Likewise.
+       (elf32_arm_swap_symbol_out): Likewise.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
+       * bfd-in2.h: Regenerated.
+       * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
+       parameter to add_stub_section callback.
+       (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
+       and pass it down to add_stub_section.
+       (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
+       for error message.
+       (elf32_arm_size_stubs): Add output section parameter to
+       add_stub_section function pointer parameter.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (elf32_arm_create_stub): New function.
+       (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * elf32-arm.c (enum elf32_arm_stub_type): Delete
+       arm_stub_a8_veneer_lwm enumerator.
+       (arm_stub_a8_veneer_lwm): New unsigned constant to replace
+       aforementioned enumerator.
+       (struct elf32_arm_stub_hash_entry): Delete target_addend
+       field and add source_value.
+       (struct a8_erratum_fix): Delete addend field and add target_offset.
+       (stub_hash_newfunc): Initialize source_value field amd remove
+       initialization for target_addend.
+       (arm_build_one_stub): Stop special casing Thumb relocations: promote
+       the else to being always executed, moving the
+       arm_stub_a8_veneer_b_cond specific code in it.  Remove
+       stub_entry->target_addend from points_to computation.
+       (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
+       to target symbol from start of section rather than the offset from the
+       stub address.
+       (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
+       fields from struct a8_erratum_fix's offset and target_offset
+       respectively.
+       (make_branch_to_a8_stub): Rename target variable to loc.  Compute
+       veneered_insn_loc and loc using stub_entry's source_value.
+
+2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       (elf32_arm_merge_eabi_attributes): Add merging logic for
+       Tag_DSP_extension.
+
+2016-05-10  Pip Cet  <pipcet@gmail.com>
+
+       PR ld/20059
+       * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
+       Define as _bfd_generic_copy_link_hash_symbol_type when using
+       generic hash table.
+
+2016-05-09  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/20063
+       * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
+       field before accessing sections array.
+
+2016-05-09  Christophe Monat  <christophe.monat@st.com>
+
+       PR ld/20030
+       * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
+       (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
+       to nb_words.
+       (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
+       encoding.
+       (create_instruction_vldmdb): Likewise.
+       (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
+       uses it to re-encode.
+
+2016-05-09  Nick Clifton  <nickc@redhat.com>
+
+       PR 19938
+       * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
+       commit.
+
+2016-05-09  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
+
+2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/17550
+       * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
+       documenting that indx == -3 if symbol is defined in a discarded
+       section.
+       * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
+       symbol is defined in a discarded section.
+       (elf_link_output_extsym): Strip a global symbol defined in a
+       discarded section.
+
+2016-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
+       MCU.
+
+2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
+       conversion to ...
+       (elf_i386_convert_load_reloc): This.  New function.
+       * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
+       conversion to ...
+       (elf_x86_64_convert_load_reloc): This.  New function.
+
+2016-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
+       Don't check if contents == NULL.
+       (elf_i386_tls_transition): Add from_relocate_section.  Check
+       from_relocate_section instead of contents != NULL.  Update
+       elf_i386_check_tls_transition call.
+       (elf_i386_check_relocs): Cache the section contents if
+       keep_memory is FALSE.  Pass FALSE as from_relocate_section to
+       elf_i386_tls_transition.
+       (elf_i386_relocate_section): Pass TRUE as from_relocate_section
+       to elf_i386_tls_transition.
+       (elf_backend_caches_rawsize): New.
+       * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
+       if contents == NULL.
+       (elf_x86_64_tls_transition): Add from_relocate_section.  Check
+       from_relocate_section instead of contents != NULL.
+       (elf_x86_64_check_relocs): Cache the section contents if
+       keep_memory is FALSE.  Pass FALSE as from_relocate_section to
+       elf_x86_64_tls_transition.
+       (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
+       to elf_x86_64_tls_transition.
+       (elf_backend_caches_rawsize): New.
+
+2016-05-03  Maciej W. Rozycki  <macro@imgtec.com>
+
+       PR 10549
+       * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
+       STB_GNU_UNIQUE.
+
+2016-05-03  Jiong Wang  <jiong.wang@arm.com>
+
+       * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
+       * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
+       * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
+       no_apply_dynamic_relocs.
+       (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
+       dynamic relocations generated.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
+       setting to ...
+       (elf_i386_create_dynamic_sections): Here.
+       * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
+       interp setting to ...
+       (elf_x86_64_create_dynamic_sections): Here.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
+       and replace (EH)->has_got_reloc with GOT_RELOC.
+       (elf_i386_fixup_symbol): Pass has_got_reloc to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       (elf_i386_allocate_dynrelocs): Likewise.
+       (elf_i386_relocate_section): Likewise.
+       (elf_i386_finish_dynamic_symbol): Likewise.
+       (elf_i386_convert_load): Pass TRUE to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
+       GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
+       (elf_x86_64_fixup_symbol): Pass has_got_reloc to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+       (elf_x86_64_allocate_dynrelocs): Likewise.
+       (elf_x86_64_relocate_section): Likewise.
+       (elf_x86_64_finish_dynamic_symbol): Likewise.
+       (elf_x86_64_convert_load): Pass TRUE to
+       UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+
+2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (check_relocs_failed): New.
+       (elf_i386_check_relocs): Set check_relocs_failed on error.
+       (elf_i386_relocate_section): Skip if check_relocs failed.
+
 2016-04-29  H.J. Lu  <hongjiu.lu@intel.com>
 
        * elf64-x86-64.c (elf_x86_64_check_relocs): Set
This page took 0.025546 seconds and 4 git commands to generate.