bfd_get_size cache
[binutils-gdb.git] / bfd / ChangeLog
index 2b988667966fdb16a821e50b27f92654ef794819..58dbb567f2f16544c0028862437bd50d7a8c2dfa 100644 (file)
@@ -1,3 +1,742 @@
+2020-02-19  Alan Modra  <amodra@gmail.com>
+
+       * bfd.c (struct bfd): Move format and direction to other
+       bitfields.  Add "size".
+       * bfdio.c (bfd_get_size): Cache size when not writing file.
+       * opncls.c (bfd_get_debug_link_info_1): Allow for bfd_get_size
+       returning zero, ie. unknown.
+       (bfd_get_alt_debug_link_info): Likewise.
+       * bfd-in2.h: Regenerate.
+
+2020-02-19  Alan Modra  <amodra@gmail.com>
+
+       * coffgen.c (_bfd_coff_get_external_symbols): Don't call
+       bfd_get_file_size twice.
+       (_bfd_coff_read_string_table): Allow for bfd_get_file_size
+       zero, ie. unknown, return.
+       * elf-attrs.c (_bfd_elf_parse_attributes): Likewise.
+       * elfcode.h (elf_swap_shdr_in): Likewise.
+       (elf_object_p): Don't call bfd_get_file_size twice and correct
+       file size check.
+
+2020-02-19  Alan Modra  <amodra@gmail.com>
+
+       * mach-o.c (bfd_mach_o_flatten_sections): Return a bfd_boolean,
+       FALSE if memory alloc fails.  Adjust calls.
+       * som.c (som_prep_for_fixups): Likewise.
+       * vms-alpha.c (alpha_vms_add_fixup_lp, alpha_vms_add_fixup_ca),
+       (alpha_vms_add_fixup_qr, alpha_vms_add_fixup_lr),
+       (alpha_vms_add_lw_reloc, alpha_vms_add_qw_reloc): Likewise.
+       * som.c (som_build_and_write_symbol_table): Return via error_return
+       on seek failure.
+       * vms-alpha.c (VEC_APPEND): Adjust for vector_grow1 changes.
+       (VEC_APPEND_EL): Delete.
+       (vector_grow1): Return pointer to element.  Catch overflow.
+       Return NULL on memory allocation failure.
+       (alpha_vms_add_fixup_lp): Replace VEC_APPEND_EL with VEC_APPEND.
+       (alpha_vms_add_fixup_ca): Likewise.
+       (alpha_vms_link_add_object_symbols): Check VEC_APPEND result
+       before using.
+       * elf.c (bfd_section_from_shdr): Check bfd_zalloc2 result.
+
+2020-02-19  Alan Modra  <amodra@gmail.com>
+
+       * aix386-core.c (aix386_core_file_p): Use size_t for "amt".
+       * aout-target.h (object_p): Likewise.
+       * aout-tic30.c (tic30_aout_object_p): Likewise.
+       * aoutx.h (some_aout_object_p, mkobject, make_empty_symbol),
+       (emit_stringtab, write_syms, link_hash_table_create),
+       (aout_link_write_other_symbol): Likewise.
+       * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p),
+       (bfd_ar_hdr_from_filesystem, _bfd_write_archive_contents),
+       (_bfd_compute_and_write_armap): Likewise.
+       * archures.c (bfd_arch_list): Likewise.
+       * bfd.c (bfd_record_phdr): Likewise.
+       * binary.c (binary_canonicalize_symtab): Likewise.
+       * cisco-core.c (cisco_core_file_validate): Likewise.
+       * coff-arm.c (coff_arm_link_hash_table_create, find_thumb_glue),
+       (find_arm_glue, record_arm_to_thumb_glue),
+       (record_thumb_to_arm_glue): Likewise.
+       * coff-ppc.c (ppc_coff_link_hash_table_create, record_toc),
+       (ppc_allocate_toc_section): Likewise.
+       * coff-rs6000.c (_bfd_xcoff_mkobject, _bfd_xcoff_archive_p): Likewise.
+       * coff-sh.c (sh_relax_section): Likewise.
+       * coff64-rs6000.c (xcoff64_archive_p): Likewise.
+       * coffcode.h (handle_COMDAT, coff_new_section_hook),
+       (coff_set_alignment_hook, coff_mkobject),
+       (coff_compute_section_file_positions): Likewise.
+       * coffgen.c (coff_make_empty_symbol, coff_bfd_make_debug_symbol),
+       (coff_find_nearest_line_with_names),
+       ( bfd_coff_set_symbol_class): Likewise.
+       * cofflink.c (_bfd_coff_link_hash_table_create),
+       (_bfd_coff_link_input_bfd): Likewise.
+       * dwarf1.c (alloc_dwarf1_unit, alloc_dwarf1_func): Likewise.
+       * dwarf2.c (read_abbrevs, read_attribute_value, add_line_info),
+       (build_line_info_table, sort_line_sequences),
+       (line_info_add_include_dir, line_info_add_file_name),
+       (decode_line_info, scan_unit_for_symbols, parse_comp_unit),
+       (place_sections, _bfd_dwarf2_slurp_debug_info): Likewise.
+       * ecoff.c (_bfd_ecoff_mkobject, _bfd_ecoff_make_empty_symbol),
+       (_bfd_ecoff_find_nearest_line),
+       (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
+       * ecofflink.c (bfd_ecoff_debug_init): Likewise.
+       * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Likewise.
+       * elf-m10300.c (mn10300_elf_relax_section),
+       (elf32_mn10300_link_hash_table_create): Likewise.
+       * elf-strtab.c (_bfd_elf_strtab_init): Likewise.
+       * elf.c (make_mapping, copy_elf_program_header): Likewise.
+       * elf32-arm.c (elf32_arm_link_hash_table_create),
+       (elf32_arm_setup_section_lists, elf32_arm_check_relocs),
+       (elf32_arm_new_section_hook): Likewise.
+       * elf32-avr.c (elf_avr_new_section_hook),
+       (elf32_avr_link_hash_table_create, get_local_syms),
+       (elf32_avr_setup_section_lists): Likewise.
+       * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create),
+       (bfin_link_hash_table_create): Likewise.
+       * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
+       * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
+       * elf32-csky.c (csky_elf_link_hash_table_create),
+       (csky_elf_check_relocs, elf32_csky_setup_section_lists): Likewise.
+       * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
+       * elf32-hppa.c (elf32_hppa_link_hash_table_create),
+       (elf32_hppa_setup_section_lists, get_local_syms): Likewise.
+       * elf32-i386.c (elf_i386_check_relocs): Likewise.
+       * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
+       * elf32-m32r.c (m32r_elf_link_hash_table_create),
+       (m32r_elf_check_relocs): Likewise.
+       * elf32-m68hc1x.c (m68hc11_elf_hash_table_create),
+       (elf32_m68hc11_setup_section_lists),
+       (elf32_m68hc11_size_stubs): Likewise.
+       * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
+       * elf32-metag.c (elf_metag_link_hash_table_create),
+       (elf_metag_setup_section_lists): Likewise.
+       * elf32-microblaze.c (microblaze_elf_link_hash_table_create),
+       (microblaze_elf_check_relocs): Likewise.
+       * elf32-nds32.c (nds32_elf_link_hash_table_create),
+       (nds32_elf_check_relocs): Likewise.
+       * elf32-nios2.c (nios2_elf32_setup_section_lists),
+       (get_local_syms, nios2_elf32_check_relocs),
+       (nios2_elf32_link_hash_table_create): Likewise.
+       * elf32-or1k.c (or1k_elf_link_hash_table_create),
+       (or1k_elf_check_relocs): Likewise.
+       * elf32-ppc.c (ppc_elf_modify_segment_map, update_plt_info): Likewise.
+       * elf32-pru.c (pru_elf32_link_hash_table_create): Likewise.
+       * elf32-s390.c (elf_s390_link_hash_table_create),
+       (elf_s390_check_relocs): Likewise.
+       * elf32-score.c (score_elf_create_got_section),
+       (s3_elf32_score_new_section_hook),
+       (elf32_score_link_hash_table_create): Likewise.
+       * elf32-score7.c (score_elf_create_got_section),
+       (s7_elf32_score_new_section_hook): Likewise.
+       * elf32-sh.c (sh_elf_link_hash_table_create),
+       (sh_elf_check_relocs): Likewise.
+       * elf32-tic6x.c (elf32_tic6x_link_hash_table_create),
+       (elf32_tic6x_new_section_hook, elf32_tic6x_check_relocs): Likewise.
+       * elf32-tilepro.c (tilepro_elf_link_hash_table_create),
+       (tilepro_elf_check_relocs): Likewise.
+       * elf32-v850.c (remember_hi16s_reloc): Likewise.
+       * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
+       * elf32-xtensa.c (elf_xtensa_link_hash_table_create),
+       (elf_xtensa_new_section_hook): Likewise.
+       * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create),
+       (get_got_entry, elf64_alpha_check_relocs): Likewise.
+       * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
+       * elf64-ia64-vms.c (elf64_ia64_object_p): Likewise.
+       * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
+       * elf64-ppc.c (ppc64_elf_new_section_hook),
+       (ppc64_elf_link_hash_table_create, update_local_sym_info),
+       (update_plt_info, ppc64_elf_check_relocs): Likewise.
+       * elf64-s390.c (elf_s390_link_hash_table_create),
+       (elf_s390_check_relocs): Likewise.
+       * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
+       * elflink.c (bfd_elf_link_record_local_dynamic_symbol),
+       (_bfd_elf_link_find_version_dependencies, elf_link_add_object_symbols),
+       (elf_link_add_archive_symbols, compute_bucket_count),
+       (bfd_elf_size_dynsym_hash_dynstr, _bfd_elf_link_hash_table_create),
+       (bfd_elf_get_bfd_needed_list, elf_link_swap_symbols_out),
+       (bfd_elf_final_link): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_link_hash_table_create),
+       (elfNN_aarch64_setup_section_lists, elfNN_aarch64_check_relocs),
+       (elfNN_aarch64_new_section_hook): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_object_p): Likewise.
+       * elfnn-riscv.c (riscv_elf_link_hash_table_create),
+       (riscv_elf_check_relocs): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_new_section_hook),
+       (_bfd_mips_elf_add_symbol_hook, _bfd_mips_elf_check_relocs),
+       (_bfd_mips_elf_modify_segment_map, _bfd_mips_elf_set_section_contents),
+       (_bfd_mips_elf_link_hash_table_create): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create),
+       (_bfd_sparc_elf_check_relocs),
+       (_bfd_sparc_elf_new_section_hook): Likewise.
+       * elfxx-tilegx.c (tilegx_elf_link_hash_table_create),
+       (tilegx_elf_check_relocs): Likewise.
+       * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
+       * format.c (bfd_check_format_matches): Likewise.
+       * hash.c (_bfd_stringtab_init): Likewise.
+       * ihex.c (ihex_scan): Likewise.
+       * irix-core.c (irix_core_core_file_p): Likewise.
+       * linker.c (bfd_wrapped_link_hash_lookup),
+       (_bfd_generic_link_hash_table_create),
+       (_bfd_generic_reloc_link_order): Likewise.
+       * lynx-core.c (lynx_core_file_p): Likewise.
+       * netbsd-core.c (netbsd_core_file_p): Likewise.
+       * osf-core.c (osf_core_core_file_p): Likewise.
+       * pdp11.c (some_aout_object_p, mkobject, make_empty_symbol),
+       (link_hash_table_create, aout_link_write_other_symbol): Likewise.
+       * peXXigen.c (_bfd_XX_bfd_copy_private_section_data): Likewise.
+       * peicode.h (pe_mkobject): Likewise.
+       * ppcboot.c (ppcboot_mkobject, ppcboot_canonicalize_symtab): Likewise.
+       * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
+       * sco5-core.c (read_uarea): Likewise.
+       * som.c (hppa_som_gen_reloc_type, som_object_p, som_prep_headers),
+       (som_write_fixups, som_write_space_strings, som_write_symbol_strings),
+       (som_finish_writing, som_canonicalize_symtab, som_new_section_hook),
+       (som_bfd_copy_private_section_data, bfd_som_set_section_attributes),
+       (bfd_som_attach_aux_hdr, som_write_armap): Likewise.
+       * srec.c (srec_scan): Likewise.
+       * syms.c (_bfd_generic_make_empty_symbol): Likewise.
+       * targets.c (bfd_target_list): Likewise.
+       * tekhex.c (first_phase, tekhex_sizeof_headers): Likewise.
+       * trad-core.c (trad_unix_core_file_p): Likewise.
+       * vms-alpha.c (vms_initialize, alpha_vms_bfd_link_hash_table_create),
+       (vms_new_section_hook): Likewise.
+       * wasm-module.c (wasm_make_empty_symbol): Likewise.
+       * xcofflink.c (xcoff_get_section_contents),
+       (_bfd_xcoff_bfd_link_hash_table_create, xcoff_set_import_path),
+       (xcoff_find_function, bfd_xcoff_link_record_set, xcoff_build_ldsym),
+       (bfd_xcoff_size_dynamic_sections, xcoff_link_input_bfd): Likewise.
+
+2020-02-19  Alan Modra  <amodra@gmail.com>
+
+       * elfxx-riscv.c (riscv_multi_letter_ext_valid_p): Don't use C99.
+
+2020-02-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * plugin.c (try_load_plugin): Make plugin_list_iter an argument
+       and use it if it isn't NULL.  Remove has_plugin_p argument.  Add
+       a build_list_p argument.  Don't search plugin_list.  Short circuit
+       when building the plugin list.
+       (has_plugin): Renamed to has_plugin_list.
+       (bfd_plugin_set_plugin): Don't set has_plugin.
+       (bfd_plugin_specified_p): Check plugin_list instead.
+       (build_plugin_list): New function.
+       (load_plugin): Call build_plugin_list and use plugin_list.
+
+2020-02-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/25355
+       * plugin.c (try_claim): Always clean up for LTO wrapper.
+       (try_load_plugin): Treat each object as independent.  Create a
+       copy for plugin name.
+
+2020-02-11  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-msp430.c (msp430_final_link_relocate): Always use longs
+       for addresses in print statements.
+       (msp430_elf_relax_delete_bytes): Likewise.
+       (msp430_elf_relax_add_words): Likewise.
+       (msp430_elf_relax_section): Likewise.
+
+2020-02-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * plugin.c (add_symbols): Clear plugin_data memory.
+
+2020-02-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/25355
+       * configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
+       (EXECUTABLE_SUFFIX): Likewise.
+       * config.in: Regenerated.
+       * configure: Likewise.
+       * plugin.c (bfd_plugin_close_and_cleanup): Removed.
+       (plugin_list_entry): Add all_symbols_read, cleanup_handler,
+       gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
+       real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
+       (get_lto_wrapper): New.
+       (setup_lto_wrapper_env): Likewise.
+       (current_plugin): Likewise.
+       (register_all_symbols_read): Likewise.
+       (register_cleanup): Likewise.
+       (get_symbols): Likewise.
+       (add_input_file): Likewise.
+       (bfd_plugin_close_and_cleanup): Likewise.
+       (claim_file): Removed.
+       (register_claim_file): Set current_plugin->claim_file.
+       (add_symbols): Make a copy of LTO symbols.  Set lto_nsyms and
+       lto_syms in current_plugin.
+       (try_claim): Use current_plugin->claim_file.  Call LTO plugin
+       all_symbols_read handler.  Copy real symbols to plugin_data.
+       Call LTO plugin cleanup handler.  Clean up for LTO wrapper.
+       (try_load_plugin): Don't reuse the previous plugin for LTO
+       wrapper.  Set up GCC LTO wrapper if possible.  Don't set
+       plugin_list_iter->claim_file.
+       (bfd_plugin_canonicalize_symtab): Use real LTO symbols if
+       possible.
+       * plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
+       real_syms.
+
+2020-02-10  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * elf32-msp430.c (msp430_elf_relax_section): Before relaxing a branch,
+       check if previous instruction matches a conditional jump inserted
+       earlier. Invert conditional jump and delete branch in this case.
+
+2020-02-10  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * elf32-msp430.c (msp430_elf_relax_add_two_words): Rename to
+       msp430_elf_relax_add_words. Support insertion of either one or two
+       words.
+       (msp430_elf_relax_section): Catch opcode of 0x3c00 when relocation
+       needs to be grown. Handle insertion of branch instruction to replace
+       jump.
+
+2020-02-10  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       * elf32-msp430.c (msp430_final_link_relocate): Add printf statements for
+       debugging relocations.
+       (msp430_elf_relax_delete_bytes): Likewise.
+       (msp430_elf_relax_add_two_words): Likewise.
+       (msp430_elf_relax_section): Likewise.
+
+2020-02-10  Alan Modra  <amodra@gmail.com>
+
+       * archures.c: Wrap overlong z80 comments.
+       * bfd-in2.h: Regenerate.
+
+2020-02-07  Sergey Belyashov  <sergey.belyashov@gmail.com>
+
+       PR 25469
+       * archures.c: Add GBZ80 and Z80N machine values.
+       * reloc.c: Add BFD_RELOC_Z80_16_BE.
+       * coff-z80.c: Add support for new reloc.
+       * coffcode.h: Add support for new machine values.
+       * cpu-z80.c: Add support for new machine names.
+       * elf32-z80.c: Add support for new reloc.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2020-02-07  Nick Clifton  <nickc@redhat.com>
+
+       PR 23932
+       * elf.c (rewrite_elf_program_header): Do not complain if no
+       sections are mapped to a segment.
+
+2020-02-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/25490
+       * elflink.c (_bfd_elf_gc_mark_extra_sections): Issue an error
+       for garbage collection on __patchable_function_entries section
+       without linked-to section.
+
+2020-02-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/25381
+       * bfd-in2.h: Regenerated.
+       * elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
+       on section if gc_mark of any of its linked-to sections is set
+       and don't set gc_mark again.
+       * section.c (asection): Add linked_to_symbol_name to map_head
+       union.
+
+2020-02-06  Maciej W. Rozycki  <macro@wdc.com>
+
+       * elf32-v850.c (v850_elf_relax_section): Fix the index used for
+       reporting an unrecognized instruction with R_V850_LONGJUMP.
+
+2020-02-05  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
+
+2020-02-04  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (ppc_elf_relocate_section): After applying
+       R_PPC_VLE_ADDR20, goto copy_reloc.
+
+2020-02-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd-in2.h: Regenerated.
+       * section.c (SEC_ASSEMBLER_SECTION_ID): Fix a typo in comments.
+
+2020-02-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gas/25380
+       * bfd-in2.h: Regenerated.
+       * ecoff.c (bfd_debug_section): Add section_id.
+       * section.c (bfd_section): Add section_id.
+       (SEC_ASSEMBLER_SECTION_ID): New.
+       (BFD_FAKE_SECTION): Add section_id.
+
+2020-02-01  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Move the c30-aout and tic30-aout targets onto the
+       obsolete list.
+
+2020-01-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): DW_EH_PE_datarel
+       encodings are relative to the GOT on nios2, too.
+
+2020-01-31  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.am (elf32-target.h, elf64-target.h): Don't use a temp
+       file.  Use $< and $@ in rules.
+       (elf32-aarch64.c, elf64-aarch64.c): Likewise.
+       (elf32-ia64.c, elf64-ia64.c): Likewise.
+       (elf32-riscv.c, elf64-riscv.c): Likewise.
+       (peigen.c, pepigen.c, pex64igen.c): Likewise.
+       (elf32-aarch64.c, elf64-aarch64.c): Don't emit $srcdir on #line.
+       (elf32-riscv.c, elf64-riscv.c): Likewise, and use $(SED).
+       (elf32-ia64.c, elf64-ia64.c): Do emit #line.
+       (peigen.c, pepigen.c, pex64igen.c): Likewise.
+       * Makefile.in: Regenerate.
+
+2020-01-31  Alan Modra  <amodra@gmail.com>
+
+       PR 4110
+       * elf.c (setup_group): Don't clear entire section contents,
+       just the padding after group flags.  Release alloc'd memory
+       after a seek or read failure.
+
+2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>
+
+       * peXXigen.c (pe_is_repro): New function.
+       (_bfd_XX_print_private_bfd_data_common): Note timestamp is
+       actually a build hash if PE_IMAGE_DEBUG_TYPE_REPRO is present.
+
+2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>
+
+       * peXXigen.c (debug_type_names): Add names for new debug data type
+       values.
+
+2020-01-16  Jon Turney  <jon.turney@dronecode.org.uk>
+
+       * peXXigen.c (pe_print_debugdata): Fix the iteration variable for
+       inner loop.  Fix a memory leak.
+
+2020-01-30  Alan Modra  <amodra@gmail.com>
+
+       * coffgen.c (coff_real_object_p): Don't clear obj_coff_keep_syms
+       or obj_coff_keep_strings here.
+       (coff_get_normalized_symtab): Free external syms directly.
+       * xcofflink.c (xcoff_link_input_bfd): Restore obj_coff_keep_syms
+       on error exit path.
+
+2020-01-27  Jim Wilson  <jimw@sifive.com>
+
+       * cpu-riscv.c (riscv_scan): New.
+       (N): Change bfd_default_scan to riscv_scan.
+
+2020-01-27  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.am (ALL_MACHINES): Remove cpu-plugin.lo.
+       (ALL_MACHINES_CFILES): Remove cpu-plugin.c.
+       * Makefile.in: Regenerate.
+       * cpu-plugin.c: Remove.
+       * archures.c (enum bfd_architecture): Remove bfd_arch_plugin.
+       (bfd_plugin_arch): Remove declaration.
+       * bfd-in2.h: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2020-01-27  H.J. Lu  <hongjiu.lu@intel.com>
+           Alan Modra  <amodra@gmail.com>
+
+       PR ld/25458
+       * elflink.c (_bfd_elf_gc_mark_rsec): Mark all weak aliases.
+
+2020-01-24  Jim Wilson  <jimw@sifive.com>
+
+       * elfxx-riscv.c (riscv_get_prefix_class): Format s case like others.
+       (riscv_parse_prefixed_ext): Fix s extension comment and reword to
+       avoid over long line.
+
+2020-01-24  Nick Clifton  <nickc@redhat.com>
+
+       PR 25447
+       * coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
+       syms and keep strings flags as these may have been set in order to
+       prevent a bogus call to free.
+
+2020-01-23  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+
+2020-01-23  Alan Modra  <amodra@gmail.com>
+
+       PR 25444
+       * elf.c (assign_file_positions_for_load_sections): Avoid divide
+       by zero when p_align is zero.
+
+2020-01-22  Maxim Blinov  <maxim.blinov@embecosm.com>
+
+       * bfd/elfnn-riscv.c (riscv_skip_prefix): New.
+       (riscv_prefix_cmp): Likewise.
+       (riscv_non_std_ext_p): Deleted.
+       (riscv_std_sv_ext_p): Likewise.
+       (riscv_non_std_sv_ext_p): Likewise.
+       (riscv_merge_non_std_and_sv_ext): Rename to...
+       (riscv_merge_multi_letter_ext): and modified to use riscv_prefix_cmp.
+       (riscv_merge_arch_attr_info): Replace 3 calls to
+       riscv_merge_non_std_and_sv_ext with single call to
+       riscv_merge_multi_letter_ext.
+       * bfd/elfxx-riscv.c (riscv_parse_std_ext): Break if we
+       encounter a 'z' prefix.
+       (riscv_get_prefix_class): New function, return prefix class based
+       on first few characters of input string.
+       (riscv_parse_config): New structure to factor out minor differences
+       in extension class parsing behaviour.
+       (riscv_parse_sv_or_non_std_ext): Rename to...
+       (riscv_parse_prefixed_ext): and parameterise with
+       riscv_parse_config.
+       (riscv_std_z_ext_strtab, riscv_std_s_ext_strtab): New.
+       (riscv_multi_letter_ext_valid_p): New.
+       (riscv_ext_x_valid_p, riscv_ext_z_valid_p, riscv_ext_s_valid_p): New.
+       (riscv_parse_subset): Delegate all non-single-letter parsing work
+       to riscv_parse_prefixed_ext.
+       * bfd/elfxx-riscv.h (riscv_isa_ext_class): New type.
+       (riscv_get_prefix_class): Declare.
+
+2020-01-22  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (struct ppc_link_hash_table): Add tga_group.
+       (ppc64_elf_archive_symbol_lookup): Extract __tls_get_addr_opt for
+       __tls_get_addr_desc.
+       (ppc64_elf_size_stubs): Add section for linker generated
+       __tls_get_addr_desc wrapper function.  Loop at least once if
+       generating this function.
+       (emit_tga_desc, emit_tga_desc_eh_frame): New functions.
+       (ppc64_elf_build_stubs): Generate __tls_get_addr_desc.
+
+2020-01-22  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
+       * elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
+       tga_desc_fd.
+       (is_tls_get_addr): Match tga_desc and tga_desc_df too.
+       (STDU_R1_0R1, ADDI_R1_R1): Define.
+       (tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
+       (ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd.  Indirect
+       tga_desc_fd to opt_fd, and tga_desc to opt.  Set
+       no_tls_get_addr_regsave.
+       (branch_reloc_hash_match): Add hash3 and hash4.
+       (ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
+       (ppc64_elf_size_dynamic_sections): Likewise.
+       (ppc64_elf_relocate_section): Likewise.
+       (plt_stub_size, build_plt_stub): Likewise.  Size regsave
+       __tls_get_addr stub.
+       (build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
+       eh_frame.
+       (ppc_size_one_stub): Handle tga_desc_fd and tga_desc too.  Size
+       eh_frame for regsave __tls_get_addr.
+
+2020-01-22  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
+       which __tls_get_addr calls will be eliminated.
+
+2020-01-20  Nick Clifton  <nickc@redhat.com>
+
+       * po/pt.po: Updates Portuguese translation.
+       * po/ru.po: Updated Russian translation.
+       * po/uk.po: Updated Ukranian translation.
+
+2020-01-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/25416
+       * elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
+       "rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
+       X32 mode.
+       (elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
+       transition, relax "rex leal x@tlsdesc(%rip), %reg" to
+       "rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
+       "rex leal x@tlsdesc(%rip), %reg" to
+       "rex movl x@gottpoff(%rip), %eax".  For both transitions, relax
+       "call *(%eax)" to "nopl (%rax)".
+
+2020-01-20  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (LD_R11_0R3, CMPDI_R11_0, STD_R11_0R1, LD_R11_0R1),
+       (MTLR_R11): Don't define.
+       (LD_R0_0R3, CMPDI_R0_0): Define.
+       (build_tls_get_addr_stub): Don't use r11 in stub.
+
+2020-01-20  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc_elf_hash_entry): New function, use throughout file.
+       (defined_sym_val, is_tls_get_addr): Likewise.
+
+2020-01-18  Nick Clifton  <nickc@redhat.com>
+
+       * version.m4 (BFD_VERSION): Set to 2.34.50.
+       * configure: Regenerate.
+       * po/bfd.pot: Regenerate.
+
+2020-01-18  Nick Clifton  <nickc@redhat.com>
+
+       Binutils 2.34 branch created.
+
+2020-01-17  Christian Biesinger  <cbiesinger@google.com>
+
+       * coff-arm.c: Fix spelling error (seperate).
+       * elfxx-riscv.c (riscv_parse_sv_or_non_std_ext): Fix spelling
+       error (seperate).
+       * sysdep.h (strnlen): Fix spelling error (seperate).
+
+2020-01-15  Lars Brinkhoff  <lars@nocrew.org>
+
+       PR 20694
+       * pdp11.c (TARGET_PAGE_SIZE): Set to 8192.
+
+2020-01-15  Alan Modra  <amodra@gmail.com>
+
+       PR 25384
+       * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
+       (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
+       of function symbols unless dot symbols are present.  Do warn
+       whenever one is created, regardles of whether a PLT entry is
+       also emitted for the function symbol.
+
+2020-01-14  Alan Modra  <amodra@gmail.com>
+
+       * som.c (som_bfd_count_ar_symbols): Error when file position
+       of symbols on chains is not strictly increasing.
+
+2020-01-14  Alan Modra  <amodra@gmail.com>
+
+       * vms.h (VMS_DEBUG): Define as 0.
+       * vms-alpha.c (image_write): Move debug output after bounds check.
+       Tidy bounds check.
+       (_bfd_vms_slurp_eihd): Warning fix.
+       (_bfd_vms_slurp_etir): Init variables to avoid bogus warnings.
+
+2020-01-13  Alan Modra  <amodra@gmail.com>
+
+       * vms-alpha.c (_bfd_vms_slurp_egsd): Ensure minimum size even
+       for "ignored" records.
+
+2020-01-13  Alan Modra  <amodra@gmail.com>
+
+       * wasm-module.c (wasm_scan_name_function_section): Formatting.
+       Delete asect name check.  Move asect NULL check to wasm_object_p.
+       Correct bounds check of sizes against end.  Replace uses of
+       bfd_zalloc with bfd_alloc, zeroing only necessary bytes.  Use
+       just one bfd_release.
+       (wasm_scan): Don't use malloc/strdup for section names,
+       bfd_alloc instead.  Simplify code prefixing section name.
+       Formatting.  Don't attempt to free memory here..
+       (wasm_object_p): ..do so here.
+
+2020-01-10  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       PR ld/22269
+       * elf32-arm.c (elf32_arm_final_link_relocate): Use
+       UNDEFWEAK_NO_DYNAMIC_RELOC.
+       (allocate_dynrelocs_for_symbol): Likewise.
+
+2020-01-10  Tamar Christina  <tamar.christina@arm.com>
+
+       PR 25210
+       * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
+
+2020-01-10  Alan Modra  <amodra@gmail.com>
+
+       * coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.
+
+2020-01-09  Nick Clifton  <nickc@redhat.com>
+
+       PR 25221
+       * bfd.c (bfd_convert_section_contents): Check for a compress
+       header size that is larger than the actual section size.
+
+2020-01-08  Alan Modra  <amodra@gmail.com>
+
+       PR 25351
+       * elflink.c (bfd_elf_final_link): Call _bfd_fix_excluded_sec_syms
+       after removing sections.
+
+2020-01-06  Jim Wilson  <jimw@sifive.com>
+
+       PR 25205
+       * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Add
+       check for !bfd_link_pic (info).
+       <R_RISCV_CALL_PLT>: Move next to R_RISCV_CALL.
+       <R_RISCV_JAL>: Add comment.
+       (_bfd_riscv_relax_section): For plt.offset check, add check for
+       bfd_link_pic (info).  Add comment.
+
+2020-01-06  Alan Modra  <amodra@gmail.com>
+
+       * format.c (bfd_check_format_matches): Ignore bfd_error on target
+       match failures.  Don't init to bfd_error_wrong_format before
+       calling _bfd_check_format.
+
+2020-01-06  Alan Modra  <amodra@gmail.com>
+
+       * vms-alpha.c (_bfd_vms_push, _bfd_vms_pop): Return pass/fail
+       status rather than exiting on stack overflow or underflow.
+       (_bfd_vms_slurp_etir): Adjust to suit.
+
+2020-01-06  Alan Modra  <amodra@gmail.com>
+
+       * som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.
+
+2020-01-06  Alan Modra  <amodra@gmail.com>
+
+       * mach-o.c (bfd_mach_o_read_dylinker): Don't read past end of
+       command.  Check name offset is within command.
+       (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib),
+       (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints),
+       (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab),
+       (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid),
+       (bfd_mach_o_read_linkedit, bfd_mach_o_read_str),
+       (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min),
+       (bfd_mach_o_read_encryption_info, bfd_mach_o_read_source_version),
+       (bfd_mach_o_read_encryption_info_64, bfd_mach_o_read_main),
+       (bfd_mach_o_read_note, bfd_mach_o_read_build_version),
+       (bfd_mach_o_read_segment): Similarly.
+       (bfd_mach_o_read_thread): Properly bound check thread struct.
+       Don't repeat checks on second loop.
+       (bfd_mach_o_read_command): Fail on invalid command length.
+
+2020-01-04  Alan Modra  <amodra@gmail.com>
+
+       * format.c (bfd_check_format_matches): Add preserve_match.
+       Save initial bfd state in "preserve", matched bfd state in
+       "preserve_match".  Save just the first match.  Release
+       bfd_alloc memory.  Restore and finish preserved state as
+       appropriate on all function exit paths.
+
+2020-01-04  Alan Modra  <amodra@gmail.com>
+
+       * mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.
+
+2020-01-04  Alan Modra  <amodra@gmail.com>
+
+       * coffgen.c (coff_real_object_p): Free malloc'd memory on target
+       match too.
+
+2020-01-03  Nick Clifton  <nickc@redhat.com>
+
+       PR 25307
+       (bfd_pef_parse_function_stubs): Correct the test that ensures that
+       there is enough data remaining in the code buffer before
+       attempting to read a function stub.
+
+2020-01-03  Nick Clifton  <nickc@redhat.com>
+
+       PR 25308
+       * elf-properties.c (_bfd_elf_convert_gnu_properties): Check the
+       return value from bfd_malloc.
+       * elf32-arm.c (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
+       (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Likewise.
+       (elf32_arm_filter_cmse_symbols): Likewise.
+       (elf32_arm_write_section): Likewise.
+       * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
+       (bfd_mach_o_follow_dsym): Likewise.
+       * pef.c (bfd_pef_print_loader_section): Likewise.
+       (bfd_pef_scan_start_address): Likewise.
+       (bfd_pef_parse_function_stubs): Likewise.
+       (bfd_pef_parse_symbols): Likewise.
+
 2020-01-03  Sergei Trofimovich  <siarheit@google.com>
 
         * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): don't fail