Warning fix
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index d899df6cae61126b019b4a659cbd2c5a1d7fbbef..5f840a1ef3eaf4e84d5c0f4c624f8699ffd6d50c 100644 (file)
@@ -1,3 +1,492 @@
+2017-06-27  Alan Modra  <amodra@gmail.com>
+
+       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  <rufus@andestech.com>
+
+       * 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  <amodra@gmail.com>
+
+       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  <palves@redhat.com>
+
+       PR binutils/21665
+       * libbfd.c (_bfd_generic_get_section_contents): Add "count", not
+       "sz".
+
+2017-06-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/21665
+       * libbfd.c (_bfd_generic_get_section_contents_in_window): Add
+       a missing line.
+
+2017-06-26  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
+       * elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: 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  <hongjiu.lu@intel.com>
+
+       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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       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  <krebbel@linux.vnet.ibm.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <slyfox@gentoo.org>
+
+       * elf.c (find_link): Bounds check "hint".
+
+2017-06-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * 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  <jiong.wang@arm.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <echristo@gmail.com>
+
+       * elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
+       abs to fix a truncation warning.
+
+2017-06-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * 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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       PR binutils/21646
+       * coff-sh.c (sh_reloc): Check for an out of range reloc.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+       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  <amodra@gmail.com>
+
+       * 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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       PR binutils/21638
+       * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
+       record.
+
+2017-06-21  Nick Clifton  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       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  <krebbel@linux.vnet.ibm.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       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  <nickc@redhat.com>
+
+       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  <nickc@redhat.com>
+
+       PR binutils/21612
+       * libieee.h (struct common_header_type): Add end_p field.
+       * ieee.c (this_byte_and_next): Do not advance input_p beyond
+       end_p.
+       (read_id): Check for a length that exceeds the remaining bytes in
+       the input buffer.
+       (ieee_seek): Initialise end_p.
+       (ieee_archive_p): Likewise.
+       (ieee_object_p): Likewise.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21611
+       * vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
+       before reading the EIHS structure entries.
+
+2017-06-19  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21615
+       * vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
+       gsd_size.  Check that there are enough bytes remaining to read the
+       type and size of the next egsd.  Check that the size of the egsd
+       does not exceed the size of the record.
+
+2017-06-19  Alan Modra  <amodra@gmail.com>
+
+       * config.bfd: Correct targ_underscore for cris.
+
+2017-06-18  Alan Modra  <amodra@gmail.com>
+
+       * config.bfd: Correct targ_underscore for epiphany, ip2k,
+       m32c, mn10200, pru, rl78, rx, crisv32 and v850.
+
+2017-06-16  Nick Clifton  <nickc@redhat.com>
+
+       * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
+       bucketlist is empty because there are no symbols to add to the
+       list.
+
+2017-06-16  Alan Modra  <amodra@gmail.com>
+
+       PR ld/20022
+       PR ld/21557
+       PR ld/21562
+       PR ld/21571
+       * targets.c (struct bfd_target): Add _bfd_define_start_stop.
+       (BFD_JUMP_TABLE_LINK): Likewise.
+       * elf-bfd.h (bfd_elf_define_start_stop): Declare.
+       * elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
+       (bfd_elf_define_start_stop): New function.
+       * linker.c (bfd_generic_define_start_stop): New function.
+       * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
+       new field.
+       * aout-adobe.c (aout_32_bfd_define_start_stop): Define.
+       * aout-target.h (MY_bfd_define_start_stop): Define.
+       * aout-tic30.c (MY_bfd_define_start_stop): Define.
+       * binary.c (binary_bfd_define_start_stop): Define.
+       * bout.c (b_out_bfd_define_start_stop): Define.
+       * coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
+       * coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
+       * coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
+       * coffcode.h (coff_bfd_define_start_stop): Define.
+       * elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
+       * i386msdos.c (msdos_bfd_define_start_stop): Define.
+       * i386os9k.c (os9k_bfd_define_start_stop): Define.
+       * ieee.c (ieee_bfd_define_start_stop): Define.
+       * ihex.c (ihex_bfd_define_start_stop): Define.
+       * libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
+       * mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
+       * mmo.c (mmo_bfd_define_start_stop): Define.
+       * nlm-target.h (nlm_bfd_define_start_stop): Define.
+       * oasys.c (oasys_bfd_define_start_stop): Define.
+       * pef.c (bfd_pef_bfd_define_start_stop): Define.
+       * plugin.c (bfd_plugin_bfd_define_start_stop): Define.
+       * ppcboot.c (ppcboot_bfd_define_start_stop): Define.
+       * som.c (som_bfd_define_start_stop): Define.
+       * srec.c (srec_bfd_define_start_stop): Define.
+       * tekhex.c (tekhex_bfd_define_start_stop): Define.
+       * versados.c (versados_bfd_define_start_stop): Define.
+       * vms-alpha.c (vms_bfd_define_start_stop): Define.
+       (alpha_vms_bfd_define_start_stop): Define.
+       * xsym.c (bfd_sym_bfd_define_start_stop): Define.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2017-06-16  Jiong Wang  <jiong.wang@arm.com>
+
+       * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
+       SYMBOL_REFERENCES_LOCAL.
+
+2017-06-15  Jiong Wang  <jiong.wang@arm.com>
+
+       PR ld/21532
+       * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
+       (elfNN_aarch64_final_link_relocate): Also propagate relocations to
+       runtime for if there needs copy relocation elimination.
+       (need_copy_relocation_p): New function.  Return true for symbol with
+       pc-relative references and if it's against read-only sections.
+       (elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
+       (elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
+       that are related with accessing external objects.
+       (elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
+       in elfNN_aarch64_check_relocs.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21582
+       * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
+       bugs.
+       PR binutils/21581
+       (ieee_archive_p): Likewise.
+
+2017-06-15  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21579
+       * vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
+
+2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (elf_xtensa_be_plt_entry,
+       elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
+       keep both windowed and call0 ABI PLT definitions.
+       (elf_xtensa_create_plt_entry): Use selected ABI to choose upper
+       elf_xtensa_*_plt_entry endex.
+       (ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21578
+       * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
+       flag value.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21589
+       * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
+       maximum value for the ascic pointer.  Check that name processing
+       does not read beyond this value.
+       (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
+       end of etir record.
+
+2017-06-14  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/21591
+       * versados.c (versados_mkobject): Zero the allocated tdata structure.
+       (process_otr): Check for an invalid offset in the otr structure.
+
+2017-06-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
+
+       * config.bfd (epiphany-*-elf): Accept epiphany-*-*.
+
+2017-06-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/20022
+       PR ld/21557
+       PR ld/21562
+       PR ld/21571
+       * elf-bfd.h (elf_link_hash_entry): Add start_stop.  Change the
+       vtable field to a union.
+       (_bfd_elf_is_start_stop): Removed.
+       * elf32-i386.c (elf_i386_convert_load_reloc): Also check for
+       __start_SECNAME and __stop_SECNAME symbols.
+       * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
+       * elflink.c (_bfd_elf_is_start_stop): Removed.
+       (_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
+       _bfd_elf_is_start_stop.
+       (elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
+       __stop_SECNAME symbols.  Updated.
+       (elf_gc_smash_unused_vtentry_relocs): Likewise.
+       (bfd_elf_gc_record_vtinherit): Likewise.
+       (bfd_elf_gc_record_vtentry): Likewise.
+
+2017-06-13  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/21524
+       * elflink.c (elf_link_adjust_relocs): Generate an error when
+       encountering a reloc against a symbol removed by garbage
+       collection.
+
+2017-06-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
+       to merge_gnu_properties.
+       * elf-properties.c (elf_merge_gnu_properties): Add struct
+       bfd_link_info * and pass it to merge_gnu_properties.
+       (elf_merge_gnu_property_list): Add struct bfd_link_info *
+       and pass it to elf_merge_gnu_properties.
+       (_bfd_elf_link_setup_gnu_properties): Pass info to
+       elf_merge_gnu_property_list.
+       * elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
+       bfd_link_info *.
+       * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
+
+2017-06-11  Joe Zbiciak  <joe.zbiciak@leftturnonly.info>
+
+       PR 21564
+       * binary.c (binary_set_section_contents): Scale lma by octets
+       per byte to set filepos.
+
 2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
 
        * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
This page took 0.045959 seconds and 4 git commands to generate.