+2019-10-07 Alan Modra <amodra@gmail.com>
+
+ * elflink.c (elf_fixup_link_order): Don't attempt to find
+ an elf_section for linker created bfd sections.
+
+2019-10-07 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD
+ with non-local symbol. Don't double count __tls_get_addr calls
+ with marker relocs.
+ * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
+
+2019-10-07 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (nomark_tls_get_addr): Rename from has_tls_get_addr_call
+ throughout.
+ * elf64-ppc.c (nomark_tls_get_addr): Likewise.
+
+2019-10-04 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Move initialisation of vars.
+ (ppc64_elf_tls_optimize): Correct is_local condition.
+ (allocate_got): Don't reserve dynamic relocations for any of the
+ tls got relocs in PIEs when the symbol is local.
+ (allocate_dynrelocs): Correct validity test for local sym using
+ tlsld_got slot.
+ (ppc64_elf_size_dynamic_sections): Don't reserve dynamic relocations
+ for any of the tls got relocs in PIEs.
+ (ppc64_elf_layout_multitoc): Likewise.
+ (ppc64_elf_relocate_section): Correct validity test for local sym
+ using tlsld_got slot. Don't emit dynamic relocations for any of
+ the tls got relocs in PIEs when the symbol is local.
+ * elf32-ppc.c (ppc_elf_tls_optimize): Correct is_local condition.
+ (got_relocs_needed): Delete.
+ (allocate_dynrelocs): Correct validity test for local sym using
+ tlsld_got slot. Don't reserve dynamic relocations for any of the
+ tls got relocs in PIEs when the symbol is local.
+ (ppc_elf_size_dynamic_sections): Don't reserve dynamic relocations
+ for any of the tls got relocs in PIEs.
+ (ppc_elf_relocate_section): Correct validity test for local sym
+ using tlsld_got slot. Don't emit dynamic relocations for any of
+ the tls got relocs in PIEs when the symbol is local.
+
+2019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/22263
+ PR ld/25056
+ * elf32-arm.c (elf32_arm_tls_transition): Use bfd_link_dll instead of
+ bfd_link_pic for TLS checks.
+ (elf32_arm_final_link_relocate): Likewise.
+ (allocate_dynrelocs_for_symbol): Likewise.
+
+2019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ PR ld/25062
+ * elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data.
+
+2019-09-30 Nick Alcock <nick.alcock@oracle.com>
+
+ * elf-bfd.h (bfd_section_is_ctf): New inline function.
+ * elf.c (special_sections_c): Add ".ctf".
+ (assign_file_positions_for_non_load_sections): Note that
+ compressed debugging sections etc are not assigned here. Treat
+ CTF sections like SEC_ELF_COMPRESS sections when is_linker_output:
+ sh_offset -1.
+ (assign_file_positions_except_relocs): Likewise.
+ (find_section_in_list): Note that debugging and CTF sections, as
+ well as reloc sections, are assigned later.
+ (_bfd_elf_assign_file_positions_for_non_load): CTF sections get
+ their size and contents updated.
+ (_bfd_elf_set_section_contents): Skip CTF sections: unlike
+ compressed sections, they have no uncompressed content to copy at
+ this stage.
+ * elflink.c (elf_link_swap_symbols_out): Call the examine_strtab
+ callback right before the strtab is written out.
+ (bfd_elf_final_link): Don't cache the section contents of CTF
+ sections: they are not populated yet. Call the emit_ctf callback
+ right at the end, after all the symbols and strings are flushed
+ out.
+
+2019-07-13 Nick Alcock <nick.alcock@oracle.com>
+
+ * elf-strtab.c (_bfd_elf_strtab_len): New.
+ (_bfd_elf_strtab_str): Likewise.
+ * bfd-elf.h: Declare them.
+
+2019-07-13 Nick Alcock <nick.alcock@oracle.com>
+
+ * elf-bfd.h (bfd_elf_get_str_section): Add.
+ * elf.c (bfd_elf_get_str_section): No longer static.
+
+2019-09-26 Alan Modra <amodra@gmail.com>
+
+ PR 24262
+ * Makefile.am (AM_CPPFLAGS): Add -DLIBDIR.
+ * plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and
+ ${bindir}/../lib/bfd-plugins if different.
+ * Makefile.in: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable
+ in choosing between different actions for shared library and
+ non-shared library cases. Delete ELIMINATE_COPY_RELOCS test.
+ (dec_dynrel_count): Likewise. Account for ifunc special case.
+ (ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables,
+ not non-pic.
+ (allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS
+ test.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am (SOURCE_HFILES): Add many missing .h files.
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_symbol, bfd_section_already_linked),
+ (bfd_elf_version_tree): Delete forward declarations.
+ Move other forward decls and remaining elf function decl later.
+ (bfd_section_already_linked_table_init),
+ (bfd_section_already_linked_table_free),
+ (_bfd_handle_already_linked, _bfd_nearby_section),
+ (_bfd_fix_excluded_sec_syms): Move to bfdlink.h.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move ecoff function declarations..
+ * ecoff-bfd.h: ..to here, new file.
+ * ecoff.c: Include ecoff-bfd.h.
+ * ecofflink.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h.
+ Move most other elf declarations..
+ * elf-bfd.h: ..to here.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move m68k function declaration..
+ * cpu-m68k.h: ..to here, new file..
+ * elf32-m68k.h: ..and here, new file.
+ * elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move bfin function declaration..
+ * elf32-bfin.h: ..to here, new file.
+ * elf32-bfin.c: Include elf32-bfin.h.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move cr16 function declaration..
+ * elf32-cr16.h: ..to here, new file.
+ * elf32-cr16.c: Include elf32-cr16.h.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_sunos_get_needed_list),
+ (bfd_sunos_record_link_assignment),
+ (bfd_sunos_size_dynamic_sections),
+ (bfd_i386linux_size_dynamic_sections),
+ (bfd_sparclinux_size_dynamic_sections): Delete obsolete decls.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move xcoff function declarations..
+ * xcofflink.h: ..to here, new file.
+ * xcofflink.c: Include xcofflink.h.
+ * coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Delete coff forward refs and move coff declaration..
+ * coff-bfd.h: ..to here.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move arm declaraions..
+ * cpu-arm.h: ..to here, new file..
+ * coff-arm.h: ..and here, new file..
+ * elf32-arm.h: ..and here, new file.
+ * cpu-arm.c: Include cpu-arm.h.
+ * coff-arm.c: Include cpu-arm.h and coff-arm.h.
+ * elf32-arm.c: Include cpu-arm.h and elf32-arm.h.
+ * pe-arm.c: Move function rename defines later.
+ * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move tic6x function declaration..
+ * elf32-tic6x.h: ..to here.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move aarch64 declarations and defines..
+ * cpu-aarch64.h: ..to here, new file..
+ * elfxx-aarch64.h: ..and here.
+ * cpu-aarch64.c: Include cpu-aarch64.h.
+ * elfnn-aarch64.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Delete ticoff function declarations.
+ * coff-tic54x.c (bfd_ticoff_set_section_load_page),
+ (bfd_ticoff_get_section_load_page): Make static.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move h8300 function declaration to..
+ * cpu-h8300.h: ..here, new file.
+ * cpu-h8300.c: Include cpu-h8300.h.
+ * elf32-h8300.c: Likewise.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move ia64 function declarations..
+ * elfxx-ia64.h: ..to here.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move v850 function declarations..
+ * elf32-v850.h: ..to here, new file.
+ * elf32-v850.c: Include elf32-v850.h.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move mips function declaration to..
+ * elfxx-mips.h: ..here.
+ * bfd-in2.h: Regenerate.
+
+2019-09-23 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h: Move csky function declarations to..
+ * elf32-csky.h: ..here, new file.
+ * elf32-csky.c: Include elf32-csky.h.
+ * bfd-in2.h: Regenerate.
+
+2019-09-20 Nelson Chu <nelson.chu@sifive.com>
+
+ * elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak.
+ (riscv_record_pcgp_hi_reloc): New parameter undefined_weak.
+ Set undefined_weak field from it.
+ (relax_func_t): New parameter undefined_weak.
+ (_bfd_riscv_relax_call): New ignored parameter undefined_weak.
+ (_bfd_riscv_relax_tls_le): Likewise.
+ (_bfd_riscv_relax_align): Likewise.
+ (_bfd_riscv_relax_delete): Likewise.
+ (_bfd_riscv_relax_lui): New parameter undefined_weak. If true,
+ allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak.
+ (_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs,
+ set undefined_weak from hi_reloc. If true, allow relaxing. For LO12*
+ relocs, set rs1 to x0 when undefined_weak and change to non-pcrel
+ reloc.
+ (_bfd_riscv_relax_section): New local undefined_weak. Set for
+ undef weak relocs that can be relaxed. Pass to relax_func call.
+
+2019-09-20 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma),
+ (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
+ (bfd_section_userdata, bfd_is_com_section, discarded_section),
+ (bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros.
+ * bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit),
+ (bfd_section_list_remove, bfd_section_list_append),
+ (bfd_section_list_prepend, bfd_section_list_insert_after),
+ (bfd_section_list_insert_before, bfd_section_removed_from_list):
+ New inline functions.
+ * section.c (bfd_is_und_section, bfd_is_abs_section),
+ (bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove),
+ (bfd_section_list_append, bfd_section_list_prepend),
+ (bfd_section_list_insert_after, bfd_section_list_insert_before),
+ (bfd_section_removed_from_list): Delete macros.
+ (bfd_section_name, bfd_section_size, bfd_section_vma),
+ (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
+ (bfd_section_userdata, bfd_is_com_section, bfd_is_und_section),
+ (bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section),
+ (discarded_section): New inline functions.
+ * bfd-in2.h: Regenerate.
+
+2019-09-20 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+ (bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete.
+ * bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+ (bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions.
+ * targets.c (bfd_asymbol_flavour): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2019-09-20 Alan Modra <amodra@gmail.com>
+
+ * archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
+ * bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
+ (bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
+ (bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
+ (bfd_get_file_flags, bfd_applicable_file_flags),
+ (bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
+ (bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
+ (bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
+ (bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
+ * bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
+ (bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
+ (bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
+ (bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
+ (bfd_usrdata, bfd_set_usrdata): New inline functions.
+ * targets.c (bfd_get_target, bfd_get_flavour),
+ (bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
+ (bfd_little_endian, bfd_header_big_endian),
+ (bfd_header_little_endian, bfd_applicable_section_flags),
+ (bfd_get_symbol_leading_char): New inline functions.
+ * bfd-in2.h: Regenerate.
+
+2019-09-20 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function.
+ (ppc64_elf_relocate_section): Warn if emitting unsupported dynamic
+ relocations.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
+ (bfd_get_section_lma, bfd_get_section_alignment),
+ (bfd_get_section_size, bfd_get_section_flags),
+ (bfd_get_section_userdata): Delete.
+ (bfd_section_name, bfd_section_size, bfd_section_vma),
+ (bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
+ (bfd_section_flags, bfd_section_userdata): New.
+ (bfd_is_com_section): Rename parameter.
+ * section.c (bfd_set_section_userdata, bfd_set_section_vma),
+ (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
+ (bfd_set_section_size): Delete bfd parameter, rename section parameter.
+ (bfd_set_section_lma): New.
+ * bfd-in2.h: Regenerate.
+ * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
+ update callers.
+ * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
+ * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
+ * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
+ * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
+ * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
+ * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
+ * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
+ * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
+ * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
+ * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
+ * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
+ * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
+ * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
+ * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
+ * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
+ * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
+ * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
+ * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
+ * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
+ * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
+ * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
+ * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
+ * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
+ * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
+ * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
+ * xcofflink.c: Update throughout for bfd section macro and function
+ changes.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
+ (bfd_get_output_section): Delete.
+ (bfd_asymbol_base): Delete.
+ (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
+ (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
+ (bfd_set_asymbol_name): New macro.
+ * bfd-in2.h: Regenerate.
+ * aout-cris.c: Update throughout to use bfd_asymbol_section.
+ * aoutx.h: Likewise.
+ * cofflink.c: Likewise.
+ * dwarf2.c: Likewise.
+ * ecoff.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-score.c: Likewise.
+ * elf32-score7.c: Likewise.
+ * elfn32-mips.c: Likewise.
+ * elfnn-aarch64.c: Likewise.
+ * elfxx-mips.c: Likewise.
+ * linker.c: Likewise.
+ * pdp11.c: Likewise.
+ * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
+
+2019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
+
+ * Makefile.in: Re-generate.
+ * configure: Re-generate.
+ * doc/Makefile.in: Re-generate.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
+ macros.
+ * pdp11.c (slurp_symbol_table): Likewise.
+ * som.c (som_slurp_symbol_table): Likewise.
+ * coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
+ * coffcode.h (coff_slurp_symbol_table): Likewise.
+ * cofflink.c (_bfd_coff_final_link): Likewise.
+ * ecoff.c (ecoff_slurp_symbolic_header): Likewise.
+ (_bfd_ecoff_slurp_symbolic_info): Likewise.
+ (_bfd_ecoff_slurp_symbol_table): Likewise.
+ (_bfd_ecoff_bfd_final_link): Likewise.
+ * elf.c (_bfd_elf_canonicalize_symtab): Likewise.
+ * elflink.c (elf_link_output_symstrtab): Likewise.
+ (bfd_elf_final_link): Likewise.
+ * peicode.h (pe_ILF_build_a_bfd): Likewise.
+ * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
+ * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
+ start_address or symcount using bfd_get macros.
+ * coffgen.c (coff_real_object_p): Likewise.
+ * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
+ * som.c (som_object_setup, som_slurp_symbol_table): Likewise.
+ * elfcore.h (elf_core_file_p): Don't set start_address using
+ bfd_get macro.
+ * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
+ using bfd_get macro.
+ * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
+ * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
+ or symcount using bfd_get macros.
+ (_bfd_generic_final_link, generic_add_output_symbol): Likewise.
+ * syms.c (bfd_set_symtab): Likewise.
+ * vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
+ * archive.c (do_slurp_bsd_armap): Don't set has_armap using
+ bfd_has_map macro.
+ (do_slurp_coff_armap, bfd_slurp_armap): Likewise.
+ * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
+ * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
+ * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
+ * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
+ * som.c (som_slurp_armap): Likewise.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * archures.c (bfd_get_arch): Make param const.
+ (bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
+ (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * bfd-in.h (carsym.name): Make const.
+ * reloc.c (struct reloc_howto_struct.name): Likewise.
+ * targets.c (bfd_target.name): Likewise.!
+ * bfd.c (bfd_get_sign_extend_vma): Make variable const.
+ * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
+ when setting carsym.name.
+ * bfd-in2.h: Regenerate.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace
+ xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an
+ error status. Adjust calls.
+ * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
+ Close bfd on failure. Replace xstrdup/bfd_alloc use with
+ bfd_malloc. Use bfd_set_filename.
+
+2019-09-18 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
+ (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
+ (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
+ needs_copy even if all relocs are in rw sections.
+ (dec_dynrel_count): Handle TOC16 relocs.
+ (ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
+ (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
+ semantic change.
+
+2019-09-16 Phil Blundell <pb@pbcl.net>
+
+ * version.m4: Set version to 2.33.50.
+ * Makefile.in, configure, doc/Makefile.in: Regenerated.
+
+2019-09-11 Tom Tromey <tom@tromey.com>
+
+ * opncls.c (bfd_set_filename): New function.
+ * bfd-in2.h: Regenerate.
+
+2019-09-11 Alan Modra <amodra@gmail.com>
+
+ * targets.c (struct bfd_target): Add _bfd_group_name.
+ (BFD_JUMP_TABLE): Likewise.
+ * coffgen.c (bfd_coff_group_name): New function.
+ * elf.c (bfd_elf_group_name): New function.
+ * linker.c (_bfd_nolink_bfd_group_name): New function.
+ * section.c (bfd_generic_group_name): New function.
+ * elf-bfd.h (bfd_elf_group_name): Declare.
+ * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare.
+ * libcoff-in.h (bfd_coff_group_name): Declare.
+ * aout-target.h (MY_bfd_group_name): Define.
+ * aout-tic30.c (MY_bfd_group_name): Define.
+ * bfd.c (bfd_group_name): Define.
+ * binary.c (binary_bfd_group_name): Define.
+ * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define.
+ * coff-mips.c (_bfd_ecoff_bfd_group_name): Define.
+ * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define.
+ * coffcode.h (coff_bfd_group_name): Define.
+ * elfxx-target.h (bfd_elfNN_bfd_group_name): Define.
+ * i386msdos.c (msdos_bfd_group_name): Define.
+ * ihex.c (ihex_bfd_group_name): Define.
+ * mach-o-target.c (bfd_mach_o_bfd_group_name): Define.
+ * mmo.c (mmo_bfd_group_name): Define.
+ * pef.c (bfd_pef_bfd_group_name): Define.
+ * plugin.c (bfd_plugin_bfd_group_name): Define.
+ * ppcboot.c (ppcboot_bfd_group_name): Define.
+ * som.c (som_bfd_group_name): Define.
+ * srec.c (srec_bfd_group_name): Define.
+ * tekhex.c (tekhex_bfd_group_name): Define.
+ * verilog.c (verilog_bfd_group_name): Define.
+ * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define.
+ * xsym.c (bfd_sym_bfd_group_name): Define.
+ * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field.
+ (rs6000_xcoff64_aix_vec): Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2019-09-10 Nick Clifton <nickc@redhat.com>
+
+ PR 24907
+ * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn
+ field.
+ (bfd_default_arch_struct): Initialise the new field.
+ * bfd-in2.h: Regenerate.
+ * cpu-aarch64.c: Initialise the new field.
+ * cpu-alpha.c: Likewise.
+ * cpu-arc.c: Likewise.
+ * cpu-arm.c: Likewise.
+ * cpu-avr.c: Likewise.
+ * cpu-bfin.c: Likewise.
+ * cpu-bpf.c: Likewise.
+ * cpu-cr16.c: Likewise.
+ * cpu-cr16c.c: Likewise.
+ * cpu-cris.c: Likewise.
+ * cpu-crx.c: Likewise.
+ * cpu-csky.c: Likewise.
+ * cpu-d10v.c: Likewise.
+ * cpu-d30v.c: Likewise.
+ * cpu-dlx.c: Likewise.
+ * cpu-epiphany.c: Likewise.
+ * cpu-fr30.c: Likewise.
+ * cpu-frv.c: Likewise.
+ * cpu-ft32.c: Likewise.
+ * cpu-h8300.c: Likewise.
+ * cpu-hppa.c: Likewise.
+ * cpu-i386.c: Likewise.
+ * cpu-ia64.c: Likewise.
+ * cpu-iamcu.c: Likewise.
+ * cpu-ip2k.c: Likewise.
+ * cpu-iq2000.c: Likewise.
+ * cpu-k1om.c: Likewise.
+ * cpu-l1om.c: Likewise.
+ * cpu-lm32.c: Likewise.
+ * cpu-m10200.c: Likewise.
+ * cpu-m10300.c: Likewise.
+ * cpu-m32c.c: Likewise.
+ * cpu-m32r.c: Likewise.
+ * cpu-m68hc11.c: Likewise.
+ * cpu-m68hc12.c: Likewise.
+ * cpu-m68k.c: Likewise.
+ * cpu-m9s12x.c: Likewise.
+ * cpu-m9s12xg.c: Likewise.
+ * cpu-mcore.c: Likewise.
+ * cpu-mep.c: Likewise.
+ * cpu-metag.c: Likewise.
+ * cpu-microblaze.c: Likewise.
+ * cpu-mips.c: Likewise.
+ * cpu-mmix.c: Likewise.
+ * cpu-moxie.c: Likewise.
+ * cpu-msp430.c: Likewise.
+ * cpu-mt.c: Likewise.
+ * cpu-nds32.c: Likewise.
+ * cpu-nfp.c: Likewise.
+ * cpu-nios2.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * cpu-or1k.c: Likewise.
+ * cpu-pdp11.c: Likewise.
+ * cpu-pj.c: Likewise.
+ * cpu-plugin.c: Likewise.
+ * cpu-powerpc.c: Likewise.
+ * cpu-pru.c: Likewise.
+ * cpu-riscv.c: Likewise.
+ * cpu-rl78.c: Likewise.
+ * cpu-rs6000.c: Likewise.
+ * cpu-rx.c: Likewise.
+ * cpu-s12z.c: Likewise.
+ * cpu-s390.c: Likewise.
+ * cpu-score.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * cpu-sparc.c: Likewise.
+ * cpu-spu.c: Likewise.
+ * cpu-tic30.c: Likewise.
+ * cpu-tic4x.c: Likewise.
+ * cpu-tic54x.c: Likewise.
+ * cpu-tic6x.c: Likewise.
+ * cpu-tic80.c: Likewise.
+ * cpu-tilegx.c: Likewise.
+ * cpu-tilepro.c: Likewise.
+ * cpu-v850.c: Likewise.
+ * cpu-v850_rh850.c: Likewise.
+ * cpu-vax.c: Likewise.
+ * cpu-visium.c: Likewise.
+ * cpu-wasm32.c: Likewise.
+ * cpu-xc16x.c: Likewise.
+ * cpu-xgate.c: Likewise.
+ * cpu-xstormy16.c: Likewise.
+ * cpu-xtensa.c: Likewise.
+ * cpu-z80.c: Likewise.
+ * cpu-z8k.c: Likewise.
+
+2019-09-09 Phil Blundell <pb@pbcl.net>
+
+ binutils 2.33 branch created.
+
+2019-09-06 Alan Modra <amodra@gmail.com>
+
+ * aout-target.h (object_p): Formatting.
+ * bfd-in.h (bfd_get_filename): Don't cast to char*.
+ * corefile.c (generic_core_file_matches_executable_p): Constify
+ variables and remove cast.
+ * bfd-in2.h: Regenerate.
+
+2019-09-05 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in
+ GOT_PCREL and PLT_PCREL relocs as affecting the value stored
+ in the GOT/PLT entry rather than affecting the offset to that
+ GOI/PLT entry.
+ (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
+
+2019-09-05 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores
+ in second instruction.
+ (ppc64_elf_relocate_section): Likewise.
+
+2019-09-05 Alan Modra <amodra@gmail.com>
+
+ PR 24955
+ * libbfd-in.h (bfd_strdup): New inline function.
+ * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close
+ bfd on error.
+ * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup.
+ * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream
+ on error.
+ (bfd_openstreamr): Use bfd_strdup.
+ (bfd_openr_iovec, bfd_openw, bfd_create): Likewise.
+ * plugin.c (try_load_plugin): Use bfd_malloc.
+ * libbfd.h: Regenerate.
+
+2019-09-02 Alan Modra <amodra@gmail.com>
+
+ PR 11983
+ * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename
+ on success. Tidy.
+ (read_alt_indirect_string): Likewise.
+ (read_alt_indirect_ref): Likewise.
+
+2019-08-31 Jim Wilson <jimw@sifive.com>
+
+ PR 23825
+ * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD,
+ SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
+
+2019-08-30 Jim Wilson <jimw@sifive.com>
+
+ * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc
+ error, call bfd_set_error, set ret to FALSE, and goto out label.
+
+2019-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24951
+ * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS,
+ BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive.
+
+2019-08-29 Alan Modra <amodra@gmail.com>
+
+ PR 24697
+ * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
+ when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
+ R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other
+ reloc.
+
+2019-08-29 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset
+ on second insn, return it in poff.
+ (ppc64_elf_relocate_section): Add offset to paddi addend for
+ PCREL_OPT.
+
+2019-08-28 Jim Wilson <jimw@sifive.com>
+
+ * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs
+ section when setting max_alignment. Update comment.
+ (_bfd_riscv_relax_pc): Likewise.
+
+2019-08-29 Alan Modra <amodra@gmail.com>
+
+ PR 24891
+ * bfd.c (struct bfd): Add no_element_cache.
+ * archive.c (_bfd_get_elt_at_filepos): Don't add element to
+ archive cache when no_element_cache.
+ (bfd_generic_archive_p): Set no_element_cache when opening first
+ element to check format. Close first element too.
+ (do_slurp_bsd_armap): Don't zero ardata->cache here.
+ * bfd-in2.h: Regenerate.
+
+2019-08-24 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
+ symbols from GOT optimisation.
+
+2019-08-23 Stafford Horne <shorne@gmail.com>
+
+ * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
+ PLT GOT entries.
+
+2019-08-23 Nick Clifton <nickc@redhat.com>
+
+ PR 24456
+ * elf.c (bfd_section_from_shdr): Issue an informative warning
+ message and continue processing other sections after encountering
+ a reloc section for a section which already has other relocs
+ associated with it.
+
+2019-08-23 Alan Modra <amodra@gmail.com>
+
+ PR 24933
+ * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
+ on error without freeing plts[] contents.
+
+2019-08-22 Dennis Zhang <dennis.zhang@arm.com>
+
+ * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
+
+2019-08-22 Nick Clifton <nickc@redhat.com>
+
+ PR 24922
+ * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
+ reading data from extra records.
+
+2019-08-22 Tamar Christina <tamar.christina@arm.com>
+
+ PR ld/24601
+ * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS.
+ Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it.
+ * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning
+ for weak TLS.
+
+2019-08-22 Alan Modra <amodra@gmail.com>
+
+ * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL,
+ instead recognize CMSE_PREFIX in symbol name.
+ (elf32_arm_gc_mark_extra_sections): Likewise.
+ (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL.
+ (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL.
+
+2019-08-20 Dennis Zhang <dennis.zhang@arm.com>
+
+ * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
+ Cortex-A77, cortex-A65AE, and Cortex-A76AE.
+
+2019-08-20 Tamar Christina <tamar.christina@arm.com>
+
+ * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
+ elf32_arm_stub_long_branch_v4t_thumb_thumb,
+ elf32_arm_stub_long_branch_v4t_thumb_arm,
+ elf32_arm_stub_short_branch_v4t_thumb_arm,
+ elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
+ elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
+ elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
+ previous instruction.
+
+2019-08-19 Tom Tromey <tromey@adacore.com>
+
+ * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
+ holding symbols.
+
+2019-08-19 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
+ to has_optrel.
+ (struct _ppc64_elf_section_data): Likewise.
+ (ppc64_elf_check_relocs): Set has_optrel for more relocs.
+ (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
+ than TOC loop. Check PLT16 insns too.
+
+2019-08-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/24905
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
+ PC-relative relocations back to ...
+ (elf_x86_64_relocate_section): Here.
+
2019-08-16 Martin Liska <mliska@suse.cz>
PR ld/24912