X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FChangeLog;h=3f81ea45d08f399d9adbc953ce120b68b3386f26;hb=38bf472a15210c222bb3885820e763c47760a704;hp=e7185172c1db6a4caf7c9a4f5219d1a7c58dbc5c;hpb=acb56a83016611bcb5f0a32368fddc8c213f7dd0;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e7185172c1..3f81ea45d0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,318 @@ +2017-06-28 Maciej W. Rozycki + Matthew Fortune + + * archures.c (bfd_mach_mips_interaptiv_mr2): New macro. + * cpu-mips.c (I_interaptiv_mr2): New enum value. + (arch_info_struct): Add "mips:interaptiv-mr2" entry. + * elfxx-mips.c (_bfd_elf_mips_mach) : New + case. + (mips_set_isa_flags) : Likewise. + (bfd_mips_isa_ext) : Likewise. + (print_mips_isa_ext) : Likewise. + (mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and + `bfd_mach_mips_interaptiv_mr2' entries. + * bfd-in2.h: Regenerate. + +2017-06-27 Nick Clifton + + * tekhex.c (pass_over): Revert accidental conversion of a local + array to a static array. + +2017-06-27 Senthil Kumar Selvaraj + + PR ld/13402 + * elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust + reloc addend if necessary. Adjust diff only if + shrinked_insn_address < end_address. + +2017-06-27 Alan Modra + + PR binutils/21665 + * libbfd.c (_bfd_generic_get_section_contents): Warning fix. + (_bfd_generic_get_section_contents_in_window): Likewise. + +2017-06-26 Kuan-Lin Chen + + * elfnn-riscv.c (perform_relocation): Support the new + R_RISCV_32_PCREL relocation. + (riscv_elf_relocate_section): Likewise. + * elfxx-riscv.c (howto_table): Likewise. + (riscv_reloc_map): Likewise. + * bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation. + * libbfd.h: Regenerate. + +2017-06-27 Alan Modra + + PR binutils/21665 + * libbfd.c (_bfd_generic_get_section_contents): Delete abort. + Use unsigned file pointer type, and remove cast. + * libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise. + Add "count", not "sz". + +2017-06-26 Pedro Alves + + PR binutils/21665 + * libbfd.c (_bfd_generic_get_section_contents): Add "count", not + "sz". + +2017-06-26 H.J. Lu + + PR binutils/21665 + * libbfd.c (_bfd_generic_get_section_contents_in_window): Add + a missing line. + +2017-06-26 Maciej W. Rozycki + + * cpu-mips.c (arch_info_struct): Mark the 4010 32-bit. + * elfxx-mips.c (mips_set_isa_flags) : Set + E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'. + (mips_mach_extensions): Mark `bfd_mach_mips4010' as extending + `bfd_mach_mips6000' rather than `bfd_mach_mips4000'. + +2017-06-26 H.J. Lu + + PR binutils/21665 + * compress.c (bfd_get_full_section_contents): Don't check the + file size here. + * libbfd.c (_bfd_generic_get_section_contents): Check for and + reject a section whose size + offset is greater than the size + of the entire file. + (_bfd_generic_get_section_contents_in_window): Likewise. + +2017-06-26 Nick Clifton + + PR binutils/21670 + * tekhex.c (getvalue): Check for the source pointer exceeding the + end pointer before the first byte is read. + +2017-06-26 Nick Clifton + + PR binutils/21665 + * opncls.c (get_build_id): Check that the section is big enough + to contain the whole note. + * compress.c (bfd_get_full_section_contents): Check for and reject + a section whose size is greater than the size of the entire file. + * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not + contain a notes section. + +2017-06-26 Andreas Krebbel + + * elf64-s390.c (elf_s390_additional_program_headers): Add NULL + pointer checks. + (elf_s390_modify_segment_map): Likewise. + (bfd_elf_s390_set_options): Lisewise. + +2017-06-26 Alan Modra + + * elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj + a --just-syms bfd. + (_bfd_elf_size_group_sections): Skip --just-syms bfds. + (bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and + .preinit_array on --just-syms bfds. + (_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds. + (elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise. + (bfd_elf_gc_sections, bfd_elf_discard_info): Likewise. + +2017-06-25 Sergei Trofimovich + + * elf.c (find_link): Bounds check "hint". + +2017-06-24 Thomas Preud'homme + + * elf32-arm.c (using_thumb_only): Update list of architectures in + BFD_ASSERT for which the logic is valid. + (using_thumb2_bl): Likewise. + (using_thumb2): Likewise and return true for ARMv8-R. + (arch_has_arm_nop): Likewise. + (tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch + merging logic. Update commentis for value 15 of v8m_baseline, + v8m_mainline and v4t_plus_v6_m arrays. Use v8r array to decide + merging of value 15 of Tag_CPU_arch. + +2017-06-23 Jiong Wang + + * reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to + BFD_RELOC_AARCH64_ADR_GOT_PAGE + * bfd-in2.h: Regenerate. + +2017-06-22 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move + the error_alignment label forward. Properly align program + property note section. + +2017-06-22 Eric Christopher + + * elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than + abs to fix a truncation warning. + +2017-06-22 H.J. Lu + + * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve + local undefined weak symbol to 0. + * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise. + +2017-06-22 H.J. Lu + + * elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk + is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK. + (elf_i386_link_setup_gnu_properties): If info->shstk is set, + turn on GNU_PROPERTY_X86_FEATURE_1_IBT. + * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If + info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK. + (elf_x86_64_link_setup_gnu_properties): If info->shstk is set, + turn on GNU_PROPERTY_X86_FEATURE_1_IBT. + +2017-06-22 H.J. Lu + + * elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New. + (elf_i386_lazy_ibt_plt_entry): Likewise. + (elf_i386_pic_lazy_ibt_plt0_entry): Likewise. + (elf_i386_non_lazy_ibt_plt_entry): Likewise. + (elf_i386_pic_non_lazy_ibt_plt_entry): Likewise. + (elf_i386_eh_frame_lazy_ibt_plt): Likewise. + (elf_i386_lazy_plt_layout): Likewise. + (elf_i386_non_lazy_plt_layout): Likewise. + (elf_i386_link_hash_entry): Add plt_second. + (elf_i386_link_hash_table): Add plt_second and + plt_second_eh_frame. + (elf_i386_allocate_dynrelocs): Use the second PLT if needed. + (elf_i386_size_dynamic_sections): Use .plt.got unwind info for + the second PLT. Check the second PLT. + (elf_i386_relocate_section): Use the second PLT to resolve + PLT reference if needed. + (elf_i386_finish_dynamic_symbol): Fill and use the second PLT if + needed. + (elf_i386_finish_dynamic_sections): Set sh_entsize on the + second PLT. Generate unwind info for the second PLT. + (elf_i386_plt_type): Add plt_second. + (elf_i386_get_synthetic_symtab): Support the second PLT. + (elf_i386_parse_gnu_properties): Support + GNU_PROPERTY_X86_FEATURE_1_AND. + (elf_i386_merge_gnu_properties): Support + GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn + on GNU_PROPERTY_X86_FEATURE_1_IBT + (elf_i386_link_setup_gnu_properties): If info->ibt is set, + turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT + for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT + is set on all relocatable inputs. + * elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New. + (elf_x32_lazy_ibt_plt_entry): Likewise. + (elf_x86_64_non_lazy_ibt_plt_entry): Likewise. + (elf_x32_non_lazy_ibt_plt_entry): Likewise. + (elf_x86_64_eh_frame_lazy_ibt_plt): Likewise. + (elf_x32_eh_frame_lazy_ibt_plt): Likewise. + (elf_x86_64_lazy_ibt_plt): Likewise. + (elf_x32_lazy_ibt_plt): Likewise. + (elf_x86_64_non_lazy_ibt_plt): Likewise. + (elf_x32_non_lazy_ibt_plt): Likewise. + (elf_x86_64_get_synthetic_symtab): Support the second PLT. + (elf_x86_64_parse_gnu_properties): Support + GNU_PROPERTY_X86_FEATURE_1_AND. + (elf_x86_64_merge_gnu_properties): Support + GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn + on GNU_PROPERTY_X86_FEATURE_1_IBT + (elf_x86_64_link_setup_gnu_properties): If info->ibt is set, + turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT + for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT + is set on all relocatable inputs. + +2017-06-22 Nick Clifton + + PR binutils/21649 + * som.c (setup_sections): NUL terminate the space_strings buffer. + Check that the space.name field does not index beyond the end of + the space_strings buffer. + +2017-06-21 Nick Clifton + + PR binutils/21646 + * coff-sh.c (sh_reloc): Check for an out of range reloc. + +2017-06-21 Nick Clifton + + PR binutils/21639 + * vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as + type of the size parameter. + (_bfd_vms_save_counted_string): Add second parameter - the maximum + length of the counted string. + * vms.h (_bfd_vms_save_sized_string): Update prototype. + (_bfd_vms_save_counted_string): Likewise. + * vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to + _bfd_vms_save_counted_string. + (_bfd_vms_slurp_ehdr): Likewise. + (_bfd_vms_slurp_egsd): Likewise. + (Parse_module): Likewise. + +2017-06-21 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt + calls before tocsave calls. + (ppc64_elf_relocate_section): Allow localentry:0 plt calls without + following nop. + +2017-06-21 Nick Clifton + + PR binutils/21645 + * reloc.c (bfd_generic_get_relocated_section_contents): Fail if + bfd_get_full_section_contents returns no contents. + +2017-06-21 Nick Clifton + + PR binutils/21638 + * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized + record. + +2017-06-21 Nick Clifton + + PR binutils/21637 + * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section + list. + (image_set_ptr): Likewise. + (alpha_vms_fix_sec_rel): Likewise. + (alpha_vms_slurp_relocs): Likewise. + +2017-06-21 Nick Clifton + + PR binutils/21633 + * ieee.c (ieee_slurp_sections): Check for a NULL return from + read_id. + (ieee_archive_p): Likewise. + (ieee_object_p): Likewise. + +2017-06-21 Nick Clifton + + PR binutils/21640 + * elf.c (setup_group): Zero the group section pointer list after + allocation so that loops can be caught. Check for NULL pointers + when processing a group list. + +2017-06-20 Andreas Krebbel + + * elf-s390.h: New file. + * elf64-s390.c (struct elf_s390_link_hash_table): Add params + field. + (elf_s390_additional_program_headers): New function. + (elf_s390_modify_segment_map): New function. + (bfd_elf_s390_set_options): New function. + (elf_backend_additional_program_headers) + (elf_backend_modify_segment_map): Add macro definitions. + +2017-06-19 H.J. Lu + + PR ld/21626 + * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check + the DYNAMIC bit instead of bfd_count_sections. + +2017-06-19 Nick Clifton + + PR binutils/21618 + * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record + length. + (evax_bfd_print_eeom): Likewise. + (evax_bfd_print_egsd): Check for an overlarge record length. + (evax_bfd_print_etir): Likewise. + 2017-06-19 Nick Clifton PR binutils/21612