Fix .dwsect generation for XCOFF. Handle .function generated with DWARF on XCOFF.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 6d1880a62ea9e07739d3de75448ab607f9f0fad4..e0a1e2348a0309d958233aa3b2f0bc44a48cda46 100644 (file)
@@ -1,3 +1,401 @@
+2021-05-07  Clément Chigot  <clement.chigot@atos.net>
+
+       * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF
+       sections.
+       * coffgen.c (coff_pointerize_aux): Handle C_DWARF.
+       (coff_print_symbol): Likewise.
+       * libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update.
+
+2021-05-07  Jan Beulich  <jbeulich@suse.com>
+
+       * elf64-x86-64.c (x86_64_elf_howto_table): Set src_mask fields
+       to zero.
+
+2021-05-07  Alan Modra  <amodra@gmail.com>
+
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+
+2021-05-06  Stafford Horne  <shorne@gmail.com>
+
+       PR 27746
+       * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT,
+       OR1K_ADD, OR1K_ORI): New macros to help with plt creation.
+       (elf_or1k_link_hash_table): New field plt_count.
+       (elf_or1k_link_hash_entry): New field plt_index.
+       (elf_or1k_plt_entry_size): New function.
+       (or1k_write_plt_entry): Update to support variable size PLTs.
+       (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry
+       API.
+       (or1k_elf_finish_dynamic_symbol): Update to write large PLTs
+       when needed.
+       (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for
+       PLT size.
+
+2021-05-06  Stafford Horne  <shorne@gmail.com>
+
+       PR 21464
+       * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16
+       overflow check if we have R_OR1K_GOT_AHI16 followed by
+       R_OR1K_GOT16.
+
+2021-05-06  Stafford Horne  <shorne@gmail.com>
+
+       PR 21464
+       * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation.
+       * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise.
+       (or1k_final_link_relocate, or1k_elf_relocate_section,
+       or1k_elf_check_relocs): Likewise.
+       * libbfd.h (bfd_reloc_code_real_names): Likewise.
+       * reloc.c: Likewise.
+
+2021-05-06  Stafford Horne  <shorne@gmail.com>
+
+       PR 27624
+       * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change
+       condition used to cleanup plt entries to cleanup forced local
+       entries.
+
+2021-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/27825
+       * elflink.c (elf_link_output_symstrtab): Always append ".COUNT"
+       to local symbols.
+
+2021-05-05  Alan Modra  <amodra@gmail.com>
+
+       * vms-lib.c (vms_traverse_index): Account for vms_kbn size when
+       sanity checking keylen.
+
+2021-05-04  Nick Clifton  <nickc@redhat.com>
+
+       * libbfd.c (bfd_malloc): Provide some documenation.  Treat a size
+       of 0 as 1.
+       (bfd_realloc): Likewise.
+       (bfd_zmalloc): Likewise.
+       (bfd_realloc_or_free): Provide some documentation.  Treat a size
+       of 0 as a request to free.
+       * libbfd-in.h (bfd_realloc): Remove prototype.
+       (bfd_realloc_or_free): Remove prototype.
+       (bfd_zmalloc): Remove prototype.
+       * libbfd.h: Regenerate.
+
+2021-05-03  Jan Beulich  <jbeulich@suse.com>
+
+       * elf32-i386.c (elf_howto_table): Switch all 32-bit relocs to
+       complain_overflow_dont.
+       * elf64-x86-64.c (x86_64_elf_howto_table): Switch all 64-bit
+       relocs to complain_overflow_dont.
+
+2021-05-03  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak
+       symbols when -z dynamic-undefined-weak or when there are no
+       dynamic relocs in read-only sections and -z nodynamic-undefined-weak
+       is not given.
+       * elf64-ppc.c (allocate_dynrelocs): Likewise.
+
+2021-05-03  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (allocate_dynrelocs): Call ensure_undef_dynamic for
+       weak undefined symols that only appear on PLT relocs.
+       * elf64-ppc.c (allocate_dynrelocs): Likewise.
+
+2021-05-03  Alan Modra  <amodra@gmail.com>
+
+       PR 27755
+       * elf32-ppc.c (ppc_elf_inline_plt): Do increment rel in loop.
+
+2021-05-03  Alan Modra  <amodra@gmail.com>
+
+       * elf32-csky.c (is_mapping_symbol_name): New function.
+       (csky_elf_is_target_special_symbol): Likewise.
+       (csky_elf_maybe_function_sym): Likewise.
+       (bfd_elf32_bfd_is_target_special_symbol): Define.
+       (elf_backend_maybe_function_sym): Define.
+
+2021-04-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 27801
+       * mach-o.c (bfd_mach_o_core_fetch_environment): Use bfd_get_32 to
+       read 32-bit value.
+
+2021-04-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 27799
+       * elf32-xtensa.c (elf_xtensa_grok_prstatus): Check for core notes
+       that are too small.
+
+2021-04-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 27797
+       * libbfd.c (bfd_realloc_or_free): Do not free a pointer than has
+       been realloc'ed to size 0.
+
+2021-04-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 27795
+       * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Check for invalid name
+       lengths.
+
+2021-04-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 27793
+       * som.c (som_slurp_symbol_table): Assign symbols without any scope
+       to the undefined section.
+       (som_decode_symclass): Check for a missing symbol section.
+       * syms.c (bfd_decode_symclass): Likewise.
+
+2021-04-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 27792
+       * som.c (som_slurp_string_table): Place a terminating NUL byte at
+       the end of the table.
+       (som_slurp_symbol_table): Check for an over-large offset into the
+       string string table.
+
+2021-04-28  Nick Clifton  <nickc@redhat.com>
+
+       * elf.c (_bfd_elf_maybe_function_sym): Do not accept annobin
+       symbols as potential function symbols.
+       * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): Likewise.
+       * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
+       * elf32-arm.c (elf32_arm_maybe_function_sym): Likewise.
+
+2021-04-26  Mike Frysinger  <vapier@gentoo.org>
+
+       * elf-bfd.h: Include stdlib.h.
+
+2021-04-26  Jan Beulich  <jbeulich@suse.com>
+
+       * elf32-i386.c (elf_howto_table): Switch R_386_PC16 to
+       complain_overflow_signed.
+       * elf64-x86-64.c (x86_64_elf_howto_table): Switch R_X86_64_PC16
+       to complain_overflow_signed.
+
+2021-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * elf.c (special_sections_p): Add .persistent.bss.
+
+2021-04-23  Jan Beulich  <jbeulich@suse.com>
+
+       * elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
+       size field.
+       * elf64-x86-64.c (x86_64_elf_howto_table): R_X86_64_TLSDESC_CALL
+       has zero size field.
+
+2021-04-22  Clément Chigot  <clement.chigot@atos.net>
+
+       * hash.c (struct bfd_strtab_hash): Remove xcoff field.
+       Add length_field_size field.
+       (_bfd_stringtab_init): Change prototype.
+       Adapt to new length_field_size.
+       (_bfd_xcoff_stringtab_init): Likewise.
+       (_bfd_stringtab_add): Likewise.
+       (_bfd_stringtab_emit): Likewise.
+       * libbfd-in.h (_bfd_xcoff_stringtab_init):
+       Change prototype.
+       * libbfd.h: Regenerate.
+       * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create):
+       Call _bfd_xcoff_stringtab_init with isxcoff64 value.
+
+2021-04-22  Clément Chigot  <clement.chigot@atos.net>
+
+       * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for
+       unsupported storage class or auxialiry entries.
+       Improve and adapt to new aux structures.
+       Add C_DWARF support.
+       (_bfd_xcoff_swap_aux_out): Likewise.
+       * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise.
+       (_bfd_xcoff64_swap_aux_out): Likewise.
+
+2021-04-21  Eli Zaretskii  <eliz@gnu.org>
+
+       PR 27760
+       * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add display
+       of IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP,
+       IMAGE_FILE_NET_RUN_FROM_SWAP and IMAGE_FILE_UP_SYSTEM_ONLY flags.
+       Decode the contents of the DllCharacteristics field.
+
+2021-04-21  Nick Clifton  <nickc@redhat.com>
+
+       PR 27759
+       * srec.c (srec_read_section): Replace assertions with error
+       returns.
+
+2021-04-20  Clément Chigot  <clement.chigot@atos.net>
+
+       PR binutils/21700
+       * reloc.c (BFD_RELOC_PPC_NEG): New relocation.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Add
+       BFD_RELOC_PPC_NEG handler.
+       (xcoff_reloc_type_neg): Correctly substract addend.
+       * coff64-rs6000.c (xcoff64_howto_table): Add R_NEG_32
+       howto.
+       (xcoff64_rtype2howto): Add handler for R_NEG_32.
+       (xcoff64_reloc_type_lookup): Add BFD_RELOC_PPC_NEG handler.
+       * xcofflink.c (xcoff_need_ldrel_p): Check output section
+       for R_POS-like relocations. New argument added.
+       (xcoff_mark): Adapt to new xcoff_need_ldrel_p argument.
+       (xcoff_link_input_bfd): Likewise.
+
+2021-04-16  Alan Modra  <amodra@gmail.com>
+
+       PR 27567
+       * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
+       (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
+       ignore alignment checks when return is false.  Formatting.
+
+2021-04-15  Nelson Chu  <nelson.chu@sifive.com>
+
+       PR27584
+       * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to
+       omit local and empty symbols since they usually generated to
+       mark the auipc instructions.
+
+2021-04-15  Lifang Xia<lifang_xia@c-sky.com>
+
+       * elf32-csky.c (csky_elf_howto_table)
+       <R_CKCORE_PCREL_IMM16BY2>: Set special_function to
+       bfd_elf_generic_reloc.
+       <R_CKCORE_PCREL_IMM16BY4>: Likewise.
+       <R_CKCORE_PCREL_IMM10BY4>: Likewise.
+       <R_CKCORE_PCREL_IMM18BY2>: Likewise.
+       <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
+
+2021-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/27708
+       * elf.c (assign_file_positions_for_non_load_sections): Set
+       p_memsz to p_filesz for the loadable PT_NOTE segment.
+
+2021-04-14  Frederic Cambus  <fred@statdns.com>
+
+       * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef
+       checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
+
+2021-04-14  Alan Modra  <amodra@gmail.com>
+
+       PR 27631
+       * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
+       when hh might be NULL, test for NULL first.
+
+2021-04-14  Alan Modra  <amodra@gmail.com>
+
+       PR 27630
+       * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when
+       hash might be NULL, cast instead.
+
+2021-04-13  Clément Chigot  <clement.chigot@atos.net>
+
+       * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
+
+2021-04-13  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning
+       when the version of input or output is RISCV_UNKNOWN_VERSION, since
+       the extension is added implicitly.
+       * elfxx-riscv.c: Updated the obsolete comments.
+       (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h.
+       * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
+
+2021-04-12  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (ENABLE_CHECKING): Define.
+       (elf_link_hash_lookup): Abort if wrong type of hash table.
+       * configure.ac (--enable-checking): Add support.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2021-04-12  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (is_elf_hash_table): Convert macro to inline function.
+       (elf_link_hash_lookup, elf_link_hash_traverse): Likewise.
+       (elf_hash_table, elf_hash_table_id): Likewise.
+       * elf32-arm.c (elf32_arm_setup_section_lists): Delete redundant
+       is_elf_hash_table check.
+       * elf32-csky.c (elf32_csky_setup_section_lists): Likewise.
+       * elf32-hppa.c (clobber_millicode_symbols): Correct param types.
+       * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
+       * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free: Likewise.
+       (elfNN_ia64_global_dyn_sym_thunk: Likewise.
+       * elf64-ia64-vms.c (elf64_ia64_global_dyn_info_free): Likewise.
+       (elf64_ia64_global_dyn_sym_thunk): Likewise.
+       (elf64_vms_link_add_object_symbols): Pass base type of hash table
+       to is_elf_hash_table.
+       * elflink.c (_bfd_elf_dynamic_symbol_p): Likewise.
+       (_bfd_elf_symbol_refs_local_p, _bfd_elf_add_dynamic_entry): Likewise.
+       (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise.
+       (_bfd_elf_link_check_relocs, elf_link_add_object_symbols): Likewise.
+       (bfd_elf_final_link): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_setup_section_lists): Likewise.
+       * elf64-ppc.c (ppc64_elf_set_toc): Likewise.  Use bfd_link_hash_lookup.
+
+2021-04-12  Alan Modra  <amodra@gmail.com>
+
+       * elf-bfd.h (struct elf_backend_data): Return bfd_link_hash_entry*
+       from elf_backend_archive_symbol_lookup.
+       (_bfd_elf_archive_symbol_lookup): Return bfd_link_hash_entry*.
+       * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Likewise.  Check
+       we have a ppc_hash_table before accessing ppc_link_hash_entry
+       fields.
+       * elflink.c (_bfd_elf_archive_symbol_lookup): Return
+       bfd_link_hash_entry*.
+       (elf_link_add_archive_symbols): Adjust to suit.
+
+2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.c (riscv_parse_std_ext): Fixed the wrong versions of
+       i-ext when expanding g-ext.
+
+2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.c (riscv_ext_dont_care_version): Removed.
+       (riscv_parse_add_subset): Always add the implicit extensions, even if
+       their versions are RISCV_UNKNOWN_VERSION.
+       (riscv_parse_std_ext): Delay to add i-ext as the implicit extension
+       in the riscv_parse_add_implicit_subsets.  Besides, add g-ext as the
+       implicit extension after it has been expanded.
+       (riscv_parse_add_implicit_subsets): Updated.
+
+2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
+
+       * elfxx-riscv.c (riscv_std_z_ext_strtab): Moved forward.
+       (riscv_std_s_ext_strtab): Likewise.
+       (riscv_std_h_ext_strtab): Likewise.
+       (riscv_std_zxm_ext_strtab): Added for the zxm prefix.
+       (enum riscv_prefix_ext_class): Moved forward and renamed from
+       riscv_isa_ext_class.  Reorder them according to the parsing order,
+       since the enum values are used to check the orders in the
+       riscv_compare_subsets.
+       (struct riscv_parse_prefix_config): Moved forward and renamed from
+       riscv_parse_config_t.  Also removed the ext_valid_p field, the
+       related functions are replaced by riscv_valid_prefixed_ext.
+       (parse_config): Moved forward and updated.  The more letters of the
+       prefix string, the more forward it must be defined.  Otherwise, we
+       will get the wrong mapping when using strncmp in riscv_get_prefix_class.
+       (riscv_get_prefix_class): Moved forward.  Support to parse the
+       multi-letter prefix, like zxm.
+       (riscv_known_prefixed_ext): New function, check if the prefixed
+       extension is supported according to the right riscv_std_*_ext_strtab.
+       (riscv_valid_prefixed_ext): New function, used to replace the
+       riscv_ext_*_valid_p functions.
+       (riscv_init_ext_order): Do not set the values for prefix keywords
+       since they may have multiple letters for now.
+       (riscv_compare_subsets): Set the order values of prefix keywords
+       to negative numbers according to the riscv_prefix_ext_class.
+       (riscv_parse_std_ext): Call riscv_get_prefix_class to see if we
+       have parsed the prefixed extensions.
+       (riscv_parse_prefixed_ext): Updated and removed the parameter config.
+       Report error when the prefix is unknown.
+       (riscv_parse_subset): Do not parse the prefixed extensions according
+       to the orders in the parse_config.  Remove the confused message and
+       let riscv_parse_prefixed_ext to report the details.
+       * elfxx-riscv.h (enum riscv_isa_ext_class): Moved to elfxx-riscv.c.
+       (riscv_get_prefix_class): Removed to static.
+
 2021-04-08  Mike Frysinger  <vapier@gentoo.org>
 
        * configure.ac (ACX_BUGURL): Use https://.
This page took 0.031782 seconds and 4 git commands to generate.