X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=a66a9e3e57f5bd7939fcac2321ed152466957ff0;hb=e94321588dab8a50728b5c625f0045b4d1e732a3;hp=201b16330d3d5b4a1fa4b1b9d31c2d95a9499c6b;hpb=e66cdd681f47dc51beaeee3d813f1c9cba27dedf;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 201b16330d..a66a9e3e57 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,780 @@ +2016-06-02 Nick Clifton + + PR target/20088 + * cpu-arm.c (processors): Add "arm_any" type to match any ARM + architecture. + (arch_info_struct): Likewise. + (architectures): Likewise. + +2016-06-02 Vineet Gupta + + * config.bfd: Replace -uclibc with *. + +2016-06-02 H.J. Lu + + * elf64-x86-64.c: Replace data32 with data16 in comments. + +2016-05-31 Alan Modra + + PR ld/20159 + PR ld/16467 + * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change. + (_bfd_elf_add_default_symbol): Don't indirect to/from defined + symbol given a version by a script different to the version + of the symbol being added. + (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and + _bfd_elf_strtab_restore. Don't fudge dynstr references. + * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete. + (struct strtab_save): New. + (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions. + * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete. + (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare. + +2016-06-01 Trevor Saunders + + * elf32-hppa.h: Add extern "C". + * elf32-nds32.h: Likewise. + * elf32-tic6x.h: Likewise. + +2016-06-01 Nick Clifton + + * po/sr.po: New Serbian translation. + * configure.ac (ALL_LINGUAS): Add sr. + * configure: Regenerate. + +2016-05-28 Maciej W. Rozycki + + * elfxx-mips.c (b_reloc_p): New function. + (_bfd_mips_elf_relocate_section) : Handle + branch relocations. + +2016-05-28 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_calculate_relocation): + : Drop the region bits of the + reloc location from calculation, treat the addend as signed with + local non-section symbols and enable overflow detection. + +2016-05-28 Alan Modra + + * aoutx.h: Adjust linker callback calls throughout file, + removing dead code. + * bout.c: Likewise. + * coff-alpha.c: Likewise. + * coff-arm.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-i960.c: Likewise. + * coff-mcore.c: Likewise. + * coff-mips.c: Likewise. + * coff-ppc.c: Likewise. + * coff-rs6000.c: Likewise. + * coff-sh.c: Likewise. + * coff-tic80.c: Likewise. + * coff-w65.c: Likewise. + * coff-z80.c: Likewise. + * coff-z8k.c: Likewise. + * coff64-rs6000.c: Likewise. + * cofflink.c: Likewise. + * ecoff.c: Likewise. + * elf-bfd.h: Likewise. + * elf-m10200.c: Likewise. + * elf-m10300.c: Likewise. + * elf32-arc.c: Likewise. + * elf32-arm.c: Likewise. + * elf32-avr.c: Likewise. + * elf32-bfin.c: Likewise. + * elf32-cr16.c: Likewise. + * elf32-cr16c.c: Likewise. + * elf32-cris.c: Likewise. + * elf32-crx.c: Likewise. + * elf32-d10v.c: Likewise. + * elf32-epiphany.c: Likewise. + * elf32-fr30.c: Likewise. + * elf32-frv.c: Likewise. + * elf32-ft32.c: Likewise. + * elf32-h8300.c: Likewise. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf32-i386.c: Likewise. + * elf32-i860.c: Likewise. + * elf32-ip2k.c: Likewise. + * elf32-iq2000.c: Likewise. + * elf32-lm32.c: Likewise. + * elf32-m32c.c: Likewise. + * elf32-m32r.c: Likewise. + * elf32-m68hc1x.c: Likewise. + * elf32-m68k.c: Likewise. + * elf32-mep.c: Likewise. + * elf32-metag.c: Likewise. + * elf32-microblaze.c: Likewise. + * elf32-moxie.c: Likewise. + * elf32-msp430.c: Likewise. + * elf32-mt.c: Likewise. + * elf32-nds32.c: Likewise. + * elf32-nios2.c: Likewise. + * elf32-or1k.c: Likewise. + * elf32-ppc.c: Likewise. + * elf32-s390.c: Likewise. + * elf32-score.c: Likewise. + * elf32-score7.c: Likewise. + * elf32-sh.c: Likewise. + * elf32-sh64.c: Likewise. + * elf32-spu.c: Likewise. + * elf32-tic6x.c: Likewise. + * elf32-tilepro.c: Likewise. + * elf32-v850.c: Likewise. + * elf32-vax.c: Likewise. + * elf32-visium.c: Likewise. + * elf32-xstormy16.c: Likewise. + * elf32-xtensa.c: Likewise. + * elf64-alpha.c: Likewise. + * elf64-hppa.c: Likewise. + * elf64-ia64-vms.c: Likewise. + * elf64-mmix.c: Likewise. + * elf64-ppc.c: Likewise. + * elf64-s390.c: Likewise. + * elf64-sh64.c: Likewise. + * elf64-x86-64.c: Likewise. + * elflink.c: Likewise. + * elfnn-aarch64.c: Likewise. + * elfnn-ia64.c: Likewise. + * elfxx-mips.c: Likewise. + * elfxx-sparc.c: Likewise. + * elfxx-tilegx.c: Likewise. + * linker.c: Likewise. + * pdp11.c: Likewise. + * pe-mips.c: Likewise. + * reloc.c: Likewise. + * reloc16.c: Likewise. + * simple.c: Likewise. + * vms-alpha.c: Likewise. + * xcofflink.c: Likewise. + * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete + status param. Adjust calls to these and linker callbacks throughout. + * elf32-rx.c: (get_symbol_value, get_gp, get_romstart, + get_ramstart): Delete status param. Adjust calls to these and + linker callbacks throughout. + +2016-05-27 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_calculate_relocation) + : Include the addend in JALX's + target alignment verification. + +2016-05-27 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_calculate_relocation): Also use the + section name if `bfd_elf_string_from_elf_section' returns an + empty string. + +2016-05-26 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_relocate_section) + : Use the `%X%H' rather than `%C' format + for message. Continue processing rather than returning failure. + +2016-05-25 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_relocate_section) + : Call `->einfo' rather than `->warning'. + Call `bfd_set_error'. + +2016-05-25 H.J. Lu + + PR binutils/14625 + * archive.c (bfd_slurp_armap): Replace + bfd_elf64_archive_slurp_armap with + _bfd_archive_64_bit_slurp_armap. + (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if + BFD64 is defined and the archive is too big. + (coff_write_armap): Likewise. + * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ... + (_bfd_archive_64_bit_slurp_armap): This. + (bfd_elf64_archive_write_armap): Renamed to ... + (_bfd_archive_64_bit_write_armap): This. + * configure.ac: Add --enable-64-bit-archive. + (want_64_bit_archive): New. Set to true by default for 64-bit + MIPS and s390 ELF targets. + (USE_64_BIT_ARCHIVE): New AC_DEFINE. + * config.in: Regenerated. + * configure: Likewise. + * elf64-mips.c (bfd_elf64_archive_functions): Removed. + (bfd_elf64_archive_slurp_armap): Likewise. + (bfd_elf64_archive_write_armap): Likewise. + (bfd_elf64_archive_slurp_extended_name_table): Likewise. + (bfd_elf64_archive_construct_extended_name_table): Likewise. + (bfd_elf64_archive_truncate_arname): Likewise. + (bfd_elf64_archive_read_ar_hdr): Likewise. + (bfd_elf64_archive_write_ar_hdr): Likewise. + (bfd_elf64_archive_openr_next_archived_file): Likewise. + (bfd_elf64_archive_get_elt_at_index): Likewise. + (bfd_elf64_archive_generic_stat_arch_elt): Likewise. + (bfd_elf64_archive_update_armap_timestamp): Likewise. + * elf64-s390.c (bfd_elf64_archive_functions): Removed. + (bfd_elf64_archive_slurp_armap): Likewise. + (bfd_elf64_archive_write_armap): Likewise. + (bfd_elf64_archive_slurp_extended_name_table): Likewise. + (bfd_elf64_archive_construct_extended_name_table): Likewise. + (bfd_elf64_archive_truncate_arname): Likewise. + (bfd_elf64_archive_read_ar_hdr): Likewise. + (bfd_elf64_archive_write_ar_hdr): Likewise. + (bfd_elf64_archive_openr_next_archived_file): Likewise. + (bfd_elf64_archive_get_elt_at_index): Likewise. + (bfd_elf64_archive_generic_stat_arch_elt): Likewise. + (bfd_elf64_archive_update_armap_timestamp): Likewise. + * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on + BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and + bfd_elfNN_archive_functions isn't defined. + (TARGET_LITTLE_SYM): Likewise. + * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype. + (_bfd_archive_64_bit_write_armap): Likewise. + (_bfd_archive_64_bit_slurp_extended_name_table): New macro. + (_bfd_archive_64_bit_construct_extended_name_table): Likewise. + (_bfd_archive_64_bit_truncate_arname): Likewise. + (_bfd_archive_64_bit_read_ar_hdr): Likewise. + (_bfd_archive_64_bit_write_ar_hdr): Likewise. + (_bfd_archive_64_bit_openr_next_archived_file): Likewise. + (_bfd_archive_64_bit_get_elt_at_index): Likewise. + (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise. + (_bfd_archive_64_bit_update_armap_timestamp): Likewise. + * libbfd.h: Regenerated. + * plugin.c (plugin_vec): Use _bfd_archive_64_bit on + BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined. + +2016-05-25 H.J. Lu + + PR ld/20103 + * cofflink.c (coff_link_check_archive_element): Return TRUE if + linker add_archive_element callback returns FALSE. + * ecoff.c (ecoff_link_check_archive_element): Likewise. + * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip + archive element if linker add_archive_element callback returns + FALSE. + * elflink.c (elf_link_add_archive_symbols): Likewise. + * pdp11.c (aout_link_check_ar_symbols): Likewise. + * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise. + * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise. + (xcoff_link_check_ar_symbols): Likewise. + +2016-05-24 Maciej W. Rozycki + + * elfxx-mips.c (_bfd_mips_elf_relocate_section) + : Unify error reporting code. + +2016-05-23 Jim Wilson + + * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and + R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL. + * relocs.c: Add BFD_RELOC_AARCH64_NULL. + * bfd-in2.h: Regenerate. + * libbfd.h: Likewise. + +2016-05-23 Kuba Sejdak + + * config.bfd: Add entry for arm-phoenix. + +2016-05-23 Thomas Preud'homme + + * elf32-arm.c (arm_dedicated_stub_section_padding): New function. + (elf32_arm_size_stubs): Declare stub_type in a more outer scope and + account for padding for stub section requiring one. + (elf32_arm_build_stubs): Add comment to stress the importance of + zeroing veneer section content. + +2016-05-23 Thomas Preud'homme + + * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare + bfd hook. + * bfd-in2.h: Regenerate. + * elf32-arm.c (arm_dedicated_stub_output_section_required): New + function. + (arm_dedicated_stub_output_section_required_alignment): Likewise. + (arm_dedicated_stub_output_section_name): Likewise. + (arm_dedicated_stub_input_section_ptr): Likewise. + (elf32_arm_create_or_find_stub_sec): Add stub type parameter and + function description comment. Add support for dedicated output stub + section to given stub types. + (elf32_arm_add_stub): Add a stub type parameter and pass it down to + elf32_arm_create_or_find_stub_sec. + (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub. + (elf32_arm_size_stubs): Pass stub type when calling + elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers. + (bfd_elf32_arm_keep_private_stub_output_sections): New function. + +2016-05-20 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32 + when setting need_convert_load. + +2016-05-20 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for + microMIPS JALX. + +2016-05-19 H.J. Lu + + PR ld/20117 + * elf32-i386.c (elf_i386_convert_load_reloc): Don't check + R_386_GOT32X. + (elf_i386_convert_load): Don't convert R_386_GOT32. + +2016-05-20 Alan Modra + + PR gas/20118 + * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY, + SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY. + +2016-05-19 Cupertino Miranda + + * elf32-arc.c (arc_elf_final_write_processing): Changed. + (debug_arc_reloc): Likewise. + (elf_arc_relocate_section): Likewise. + (elf_arc_check_relocs): Likewise. + (elf_arc_adjust_dynamic_symbol): Likewise. + (elf_arc_add_symbol_hook): Likewise. + +2016-05-19 Maciej W. Rozycki + + * config.bfd: Remove `am34-*-linux*' support. + +2016-05-19 Alan Modra + + * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic + relocs before plt relocs. + +2016-05-19 Alan Modra + + * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner + before dereferencing. + +2016-05-18 Nick Clifton + + * po/sv.po: Updated Swedish translation. + +2016-05-18 Alan Modra + + * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms + for each BFD. Don't goto error_ret_free_local from outside loop. + +2016-05-17 Maciej W. Rozycki + + * elf-s390-common.c (elf_s390_add_symbol_hook): Remove + STB_GNU_UNIQUE handling. + * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. + * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise. + * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. + * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise. + * elf32-i386.c (elf_i386_add_symbol_hook): Remove function. + (elf_backend_add_symbol_hook): Remove macro. + * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols' + for STB_GNU_UNIQUE symbols. + +2016-05-16 Maciej W. Rozycki + + * elf32-v850.c (v850_elf_copy_notes): New function, factored out + from... + (v850_elf_copy_private_bfd_data): ... here. Call the new + function and `_bfd_elf_copy_private_bfd_data'. + +2016-05-13 H.J. Lu + + 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 + + * 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 + + * 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 + + * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last. + +2016-05-11 Andrew Bennett + + * elfxx-mips.c (print_mips_ases): Add DSPR3. + +2016-05-11 Alan Modra + + * 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 + + 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 + + * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant + aarch64_tls_transition check. + +2016-05-10 Thomas Preud'homme + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + (elf32_arm_merge_eabi_attributes): Add merging logic for + Tag_DSP_extension. + +2016-05-10 Pip Cet + + 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 + + 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 + + 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 + + PR 19938 + * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental + commit. + +2016-05-09 Alan Modra + + * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check. + +2016-05-06 H.J. Lu + + 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 + + * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel + MCU. + +2016-05-05 H.J. Lu + + * 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 + + * 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 + + PR 10549 + * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle + STB_GNU_UNIQUE. + +2016-05-03 Jiong Wang + + * 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 + + * 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 + + * 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 + + * 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 + + * elf64-x86-64.c (elf_x86_64_check_relocs): Set + check_relocs_failed on error. + +2016-04-29 Nick Clifton + + PR 19938 + * elf-bfd.h (struct elf_backend_data): Rename + elf_backend_set_special_section_info_and_link to + elf_backend_copy_special_section_fields. + * elfxx-target.h: Likewise. + * elf.c (section_match): Ignore the SHF_INFO_LINK flag when + comparing section flags. + (copy_special_section_fields): New function. + (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field. + Perform two scans over special sections. The first one looks for + a direct mapping between the output section and an input section. + The second scan looks for a possible match based upon section + characteristics. + * elf32-arm.c (elf32_arm_copy_special_section_fields): New + function. Handle setting the sh_link field of SHT_ARM_EXIDX + sections. + * elf32-i386.c (elf32_i386_set_special_info_link): Rename to + elf32_i386_copy_solaris_special_section_fields. + * elf32-sparc.c (elf32_sparc_set_special_section_info_link): + Rename to elf32_sparc_copy_solaris_special_section_fields. + * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to + elf64_x86_64_copy_solaris_special_section_fields. + +2016-04-28 Nick Clifton + + * po/zh_CN.po: Updated Chinese (simplified) translation. + +2016-04-27 H.J. Lu + + PR ld/20006 + * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections + when estimating distances between output sections. + +2016-04-27 Alan Modra + + * elflink.c (_bfd_elf_is_start_stop): New function. + (_bfd_elf_gc_mark_rsec): Use it. + * elf-bfd.h (_bfd_elf_is_start_stop): Declare. + +2016-04-26 Trevor Saunders + + * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *. + * mmo.c (mmo_get_section_contents): Likewise. + (mmo_set_section_contents): Likewise. + +2016-04-26 H.J. Lu + + * elf-bfd.h (elf_link_hash_table): Update comments for + dynsymcount. + * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for + the unused NULL entry at the head of dynamic symbol table. + (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0 + checks. + +2016-04-21 H.J. Lu + + * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker + created file from dynobj. + +2016-04-21 H.J. Lu + + * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a + normal input file if possible. + +2016-04-21 Nick Clifton + + * aout-adobe.c: Use _bfd_generic_link_check_relocs. + * aout-target.h: Likewise. + * aout-tic30.c: Likewise. + * binary.c: Likewise. + * bout.c: Likewise. + * coff-alpha.c: Likewise. + * coff-rs6000.c: Likewise. + * coff64-rs6000.c: Likewise. + * coffcode.h: Likewise. + * i386msdos.c: Likewise. + * i386os9k.c: Likewise. + * ieee.c: Likewise. + * ihex.c: Likewise. + * libbfd-in.h: Likewise. + * libecoff.h: Likewise. + * mach-o-target.c: Likewise. + * mmo.c: Likewise. + * nlm-target.h: Likewise. + * oasys.c: Likewise. + * pef.c: Likewise. + * plugin.c: Likewise. + * ppcboot.c: Likewise. + * som.c: Likewise. + * srec.c: Likewise. + * tekhex.c: Likewise. + * versados.c: Likewise. + * vms-alpha.c: Likewise. + * xsym.c: Likewise. + * elfxx-target.h: Use _bfd_elf_link_check_relocs. + * linker.c (bfd_link_check_relocs): New function. + (_bfd_generic_link_check_relocs): New function. + * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of + _bfd_link_check_relocs field. + (struct bfd_target)L Add _bfd_link_check_relocs field. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + 2016-04-20 H.J. Lu * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.