+2019-03-21 Jim Wilson <jimw@sifive.com>
+
+ PR 24365
+ * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
+ verify sym non-NULL before using. Add identical check using h.
+
+2019-03-21 Sudakshina Das <sudi.das@arm.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add argument to
+ merge_gnu_properties.
+ * elf-properties.c (elf_merge_gnu_properties): Add argument to
+ itself and while calling bed->merge_gnu_properties.
+ (elf_merge_gnu_property_list): Update the calls for
+ elf_merge_gnu_properties.
+ * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
+ of --force-bti warning and add argument.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
+ warning.
+ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
+ * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
+ declaration.
+
+2019-03-20 Sudakshina Das <sudi.das@arm.com>
+
+ * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
+ * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
+ (elf_backend_fixup_gnu_properties): Define for AArch64.
+
+2019-03-18 Alan Modra <amodra@gmail.com>
+
+ PR 24355
+ * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
+ for local iplt syms with ent->plt.offset == -1. Remove ineffective
+ attempt at writing glink stubs only once.
+
+2019-03-16 Alan Modra <amodra@gmail.com>
+
+ PR 24337
+ * elf.c (_bfd_elf_rela_local_sym): Revert last change.
+ (_bfd_elf_rel_local_sym): Likewise.
+ * elflink.c (elf_link_input_bfd): Use bfd_und_section for
+ section of symbols with unrecognized shndx.
+
+2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24267
+ * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
+ section.
+ * cofflink.c (coff_link_add_symbols): Check for symbols defined
+ in discarded section.
+
+2019-03-15 Alan Modra <amodra@gmail.com>
+
+ PR 24339
+ * elflink.c (elf_link_add_object_symbols): Bail out on a local
+ symbol after globals if elf_bad_symtab is not set.
+
+2019-03-15 Alan Modra <amodra@gmail.com>
+
+ PR 24337
+ * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
+ (_bfd_elf_rel_local_sym): Likewise.
+
+2019-03-15 Alan Modra <amodra@gmail.com>
+
+ PR 24336
+ * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
+ object files with sh_size not a multiple of sh_entsize.
+
+2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24338
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
+ input with bad relocation.
+
+22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
+
+2019-03-14 Nick Clifton <nickc@redhat.com>
+
+ PR 24334
+ * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
+ (save_section_vma): Initialise field to the number of entries in
+ the sec_vma table.
+ (section_vma_same): Check that the number of entries in the
+ sec_vma table matches the number of sections in the bfd.
+
+2019-03-14 Nick Clifton <nickc@redhat.com>
+
+ PR 24333
+ * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
+ section owner pointer when adding the default symbol.
+
+2019-03-14 Nick Clifton <nickc@redhat.com>
+
+ PR 24332
+ * elflink.c (elf_link_add_object_symbols): Add new local variable
+ extversym_end. Initialise it to point to the end of the version
+ symbol table, if present. Check it when initialising and updating
+ the ever pointer.
+
+2019-03-13 Sudakshina Das <sudi.das@arm.com>
+
+ * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
+ (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
+ (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
+ (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
+ and PLT_PAC_PLT.
+ (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
+ (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
+ (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
+
+2019-03-13 Sudakshina Das <sudi.das@arm.com>
+ Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
+ (aarch64_bti_pac_info): New.
+ (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
+ (bfd_elf32_aarch64_set_options): Likewise.
+ * bfd-in2.h: Regenerate
+ * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
+ (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
+ (elfNN_aarch64_small_plt0_bti_entry): New.
+ (elfNN_aarch64_small_plt_bti_entry): New.
+ (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
+ (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
+ (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
+ tlsdesc_plt_entry_size fields.
+ (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
+ (setup_plt_values): New helper function.
+ (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
+ bti enable type.
+ (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
+ fixed macros.
+ (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
+ (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
+ to plt stubs instead of fixed ones and update filling them according
+ to the need for bti.
+ (elfNN_aarch64_init_small_plt0_entry): Likewise.
+ (elfNN_aarch64_finish_dynamic_sections): Likewise.
+ (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
+ (elfNN_aarch64_plt_sym_val): Update size accordingly.
+ (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
+ is set.
+ (bfd_elfNN_get_synthetic_symtab): Define.
+ (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
+ and mising BTI NOTE SECTION.
+
+
+2019-03-13 Sudakshina Das <sudi.das@arm.com>
+
+ * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
+ linker created inputs from merge.
+ * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
+ GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
+ (elfNN_aarch64_link_setup_gnu_properties): New.
+ (elfNN_aarch64_merge_gnu_properties): New.
+ (elf_backend_setup_gnu_properties): Define for AArch64.
+ (elf_backend_merge_gnu_properties): Likewise.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
+ (_bfd_aarch64_elf_parse_gnu_properties): Define.
+ (_bfd_aarch64_elf_merge_gnu_properties): Define.
+ * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
+ (_bfd_aarch64_elf_parse_gnu_properties): Declare.
+ (_bfd_aarch64_elf_merge_gnu_properties): Declare.
+ (elf_backend_parse_gnu_properties): Define for AArch64.
+
+2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24322
+ * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
+ merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
+
+2019-03-12 Alan Modra <amodra@gmail.com>
+
+ * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
+ nmemb parameter. Use bfd_alloc2.
+ (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
+ Delete assertion.
+ (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
+ (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
+ * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
+ doesn't overflow.
+ * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
+ (assign_section_numbers): Style fix.
+ (swap_out_syms): Use bfd_malloc2.
+ (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
+ overflow.
+ (_bfd_elf_make_empty_symbol): Style fix.
+ (elfobj_grok_stapsdt_note_1): Formatting.
+ * elfcode.h (elf_object_p): Use bfd_alloc2.
+ (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
+ (elf_slurp_symbol_table): Use bfd_zalloc2.
+ (elf_slurp_reloc_table): Use bfd_alloc2.
+ (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
+ * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
+ size calculation doesn't overflow.
+ (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
+ * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
+ * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
+
+2019-03-08 Alan Modra <amodra@gmail.com>
+
+ PR 24311
+ * merge.c (merge_strings): Return secinfo. Don't pad section
+ to alignment here.
+ (_bfd_merge_sections): Pad section to alignment here, if input
+ sections contributing to merged output all pad to alignment.
+ Formatting.
+
+2019-03-06 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
+ table pointer.
+ * coffgen.c (coff_find_nearest_line_with_names): Do not call
+ _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
+
+2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
+
+ This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
+ 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
+
+ PR 20113
+ * elf32-s390.c (allocate_dynrelocs): Update comment.
+
+2019-02-28 Tamar Christina <tamar.christina@arm.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
+
+2019-02-28 Nick Clifton <nickc@redhat.com>
+
+ PR 24273
+ * elf.c (bfd_elf_string_from_elf_section): Check for a string
+ section that is not NUL terminated.
+
+2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24276
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
+ by linker when checking copy reloc on protected symbol.
+
+2019-02-24 Alan Modra <amodra@gmail.com>
+
+ PR 24144
+ * pdp11.c (set_section_contents): Revert 2015-02-24 change.
+
+2019-02-20 Eric Tsai <erictsai@cadence.com>
+
+ * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
+ sections between the call site and call destination and adjust
+ call distance by the largest alignment.
+
+2019-02-20 Alan Hayward <alan.hayward@arm.com>
+
+ * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
+ * elf.c (elfcore_grok_aarch_pauth): New function.
+ (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
+ (elfcore_write_aarch_pauth): New function.
+ (elfcore_write_register_note): Check for AArch64 pauth section.
+
+2019-02-20 Alan Modra <amodra@gmail.com>
+
+ PR 24225
+ * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
+ return value.
+
+2019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
+
+ * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
+ Darwin hosts, not just or1k.
+ * configure: Regenerate.
+
+2019-02-20 Alan Modra <amodra@gmail.com>
+
+ PR 24236
+ * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
+ sentinel NUL to string buffer nearer to loop where it is used.
+ Don't go past sentinel when scanning strings, and don't write
+ NUL again.
+ * archive.c (do_slurp_coff_armap): Simplify string handling to
+ archive64.c style.
+
+2019-02-19 Alan Modra <amodra@gmail.com>
+
+ PR 24235
+ * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
+ attempting to prevent read past end of section.
+
+2019-02-18 Alan Modra <amodra@gmail.com>
+
+ PR 24225
+ * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
+ PRIx64 to generate warning messages. Print local sym names too.
+
+2019-02-09 Vineet Gupta <vgupta@synopsys.com>
+
+ * elf32-arc (INIT_SYM_STRING): Delete.
+ (FINI_SYM_STRING): Likewise.
+ (init_str): Likewise.
+ (fini_str): Likewise.
+
+2019-02-08 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
+ for bss-plt" warning to make it an error.
+
+2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ld/18841
+ * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
+ reloc_class_ifunc for ifunc symbols.
+ * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
+
+2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
+ <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
+
+2019-02-07 Nick Clifton <nickc@redhat.com>
+
+ * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
+ into the definitely obsolete list.
+
+2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24151
+ * elf64-x86-64.c (elf_x86_64_need_pic): Check
+ SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
+ (elf_x86_64_relocate_section): Move PIC check for PC-relative
+ relocations to ...
+ (elf_x86_64_check_relocs): Here.
+ (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
+ to check if a symbol is defined in a non-shared object.
+ * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
+
+2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
+ of 'labs' (and fix GCC warning).
+
+2019-01-25 Nick Clifton <nickc@redhat.com>
+
+ * po/ru.po: Updated Russian translation.
+
+2019-01-23 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French translation.
+
+2019-01-21 Nick Clifton <nickc@redhat.com>
+
+ * po/pt.po: Updated Portuguese translation.
+ * po/uk.po: Updated Ukranian translation.
+
+2019-01-21 Yuri Chornoivan <yurchor@ukr.net>
+
+ PR 24108
+ * elf32-nds32.c (nds32_relocate_section): Add space between words
+ in error message.
+ * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
+ error message.
+ (riscv_i_or_e_p): Likewise.
+ (riscv_merge_arch_attr_info): Likewise.
+
+2019-01-19 Nick Clifton <nickc@redhat.com>
+
+ * version.m4: Reset to 2.32.51
+ * configure: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2018-06-24 Nick Clifton <nickc@redhat.com>
+
+ 2.32 branch created.
+
+2019-01-16 Kito Cheng <kito@andestech.com>
+
+ * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
+ for OBJ_ATTR_PROC.
+
2019-01-16 Kito Cheng <kito@andestech.com>
Nelson Chu <nelson@andestech.com>
+ * elfnn-riscv.c (in_subsets): New.
+ (out_subsets): Likewise.
+ (merged_subsets): Likewise.
+ (riscv_std_ext_p): Likewise.
+ (riscv_non_std_ext_p): Likewise.
+ (riscv_std_sv_ext_p): Likewise.
+ (riscv_non_std_sv_ext_p): Likewise.
+ (riscv_version_mismatch): Likewise.
+ (riscv_i_or_e_p): Likewise.
+ (riscv_merge_std_ext): Likewise.
+ (riscv_merge_non_std_and_sv_ext): Likewise.
+ (riscv_merge_arch_attr_info): Likewise.
+ (riscv_merge_attributes): Likewise.
+ (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
+
* elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
(elf_backend_obj_attrs_vendor): Define.
(elf_backend_obj_attrs_section_type): Likewise.