+2017-07-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
+
+ * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove the
+ abort statement that was put for symbols that are not dynamic.
+
+2017-07-03 Tristan Gingold <gingold@adacore.com>
+
+ * po/bfd.pot: Regenerate
+
+2017-07-03 Alan Modra <amodra@gmail.com>
+
+ * bfd.c (_doprnt): Rewrite "ll" and "L" modifiers to "I64" for
+ __MSVCRT__. Support "L" modifier for bfd_vma. Formatting.
+ * elf.c (setup_group): Use "Lx" to print sh_size.
+ (_bfd_elf_setup_sections): Remove unnecessary cast and print
+ unknown section type in hex.
+ (copy_special_section_fields): Style fix.
+ (bfd_section_from_shdr): Correct format for sh_link. Use a
+ common error message for all the variants of unrecognized
+ section types.
+ (assign_file_positions_for_load_sections): Use "Lx" for lma
+ adjust error message.
+ (assign_file_positions_for_non_load_sections): Formatting.
+ (rewrite_elf_program_header): Formatting. Use "Lx" for
+ bfd_vma values in error messages.
+ * elfcode.h (elf_slurp_reloc_table_from_section): Cast
+ ELF_R_SYM value to type expected by format.
+ * elflink.c (elf_link_read_relocs_from_section): Use "Lx"
+ in error messages.
+ (elf_link_add_object_symbols): Use "Lu" for symbol sizes.
+ (elf_link_input_bfd): Use "Lx" for r_info.
+ (bfd_elf_gc_record_vtinherit): Use "Lx" for offset.
+
+2017-07-03 Alan Modra <amodra@gmail.com>
+
+ * bfd.c (bfd_scan_vma): Don't use long long unless HAVE_LONG_LONG.
+ * coff-rs6000.c (FMT20): Handle hosts with 64-bit long and
+ Microsoft C library variant of long long format specifier.
+ (PRINT20): Cast value to bfd_uint64_t not long long.
+ * coffcode.h (coff_print_aux): Use BFD_VMA_FMT.
+ * coff-x86_64.c (coff_amd64_reloc): Use bfd_uint64_t rather than
+ long long. Don't cast to bfd_vma.
+ * elf32-score.c (score3_bfd_getl48): Likewise.
+ * vms-alpha.c (_bfd_vms_slurp_eisd): Likewise.
+
+2017-07-03 Alan Modra <amodra@gmail.com>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Use BFD_VMA_FMT to
+ print d_tag.
+ (bfd_elf_print_symbol): Don't cast symbol->flags.
+ (_bfd_elf_symbol_from_bfd_symbol): Likewise.
+ * elf32-ppc.c (ppc_elf_begin_write_processing): Correct
+ _bfd_error_handler argument order.
+ (ppc_elf_merge_private_bfd_data): Don't cast flags.
+
+2017-07-03 Alan Modra <amodra@gmail.com>
+
+ * configure.ac: Invoke AC_CHECK_TYPES for long long. Invoke
+ AC_TYPE_LONG_DOUBLE.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2017-06-29 Andrew Waterman <andrew@sifive.com>
+
+ * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Fix TLS copy
+ relocs.
+
+2017-06-29 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
+
+ * elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
+ unless it is undefined weak.
+ * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
+ relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
+ relocation.
+ * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
+ is not dynamic in PIC, abort.
+
+2017-06-29 Jiong Wang <jiong.wang@arm.com>
+
+ PR ld/21402
+ * elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
+ undefined weak symbols into dynamic.
+ (elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
+ relocation for non-dynamic symbols.
+ (elfNN_aarch64_finish_dynamic_symbol): Add sanity check.
+
+2017-06-29 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (aarch64_relocation_aginst_gp_p): New function.
+ (elfNN_aarch64_final_link_relocate): Delete duplicated code for
+ BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
+ BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Optimize the
+ support for them.
+
+2017-06-29 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * elf-bfd.h (elfcore_write_s390_gs_cb): Add prototype.
+ (elfcore_write_s390_gs_bc): Likewise.
+ * elf.c (elfcore_grok_s390_gs_cb): New function.
+ (elfcore_grok_s390_gs_bc): New function.
+ (elfcore_grok_note): Call them.
+ (elfcore_write_s390_gs_cb): New function.
+ (elfcore_write_s390_gs_bc): New function.
+ (elfcore_write_register_note): Call them.
+
+2017-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * libbfd.c (_bfd_generic_get_section_contents): Don't call
+ bfd_get_file_size. Check archive element size.
+ (_bfd_generic_get_section_contents_in_window): Likewise.
+
+2017-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in2.h: Regenerated.
+ * bfdio.c (bfd_get_size): Change return type to ufile_ptr.
+ (bfd_get_file_size): Likewise.
+
+2017-06-28 Maciej W. Rozycki <macro@imgtec.com>
+ Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * 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) <E_MIPS_MACH_IAMR2>: New
+ case.
+ (mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
+ (bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
+ (print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
+ (mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
+ `bfd_mach_mips_interaptiv_mr2' entries.
+ * bfd-in2.h: Regenerate.
+
+2017-06-27 Nick Clifton <nickc@redhat.com>
+
+ * tekhex.c (pass_over): Revert accidental conversion of a local
+ array to a static array.
+
+2017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
+
+ 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 <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