]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/ChangeLog
Fix: nm: SEGV on unknow address at nm.c:718 in print_symname
[thirdparty/binutils-gdb.git] / bfd / ChangeLog
index afabbc0f56aa5964ff7947ceace4625c1b9b3c99..ed9db240eb5e20d26bdcefc2d3a67ce267bd040c 100644 (file)
@@ -1,3 +1,460 @@
+2023-09-28  Nick Clifton  <nickc@redhat.com>
+
+       PR 30886
+       * elf-bfd.h (struct elf_obj_tdata): Add dt_strsz field.
+       * elf.c (_bfd_elf_get_dynamic_symbols): Add a NUL byte at the end
+       of the string table.
+       Initialise the dt_strsz field.
+       (_bfd_elf_slurp_version_tables): Only free the contents if they
+       were malloc'ed.
+       Add checks before setting string pointers in the dt_strtab buffer.
+
+2023-09-27  Nick Clifton  <nickc@redhat.com>
+
+       PR 30885
+       * elfcode.h (elf_slurp_symbol_table): Compute the symcount for non
+       dynamic symbols in the same way as _bfd_elf_get_symtab_upper_bound.
+
+2023-09-13  Jacob Navia  <jacob@jacob.remcomp.fr>
+
+       * elf.c (_bfd_elf_init_reloc_shdr): Don't segfault on alloc fail.
+
+2023-09-13  Alan Modra  <amodra@gmail.com>
+
+       * elf-strtab.c (_bfd_elf_strtab_init): In the event of memory
+       allocation failure, make sure that the hash table is freed.
+
+2023-08-30  Tom Tromey  <tom@tromey.com>
+
+       PR binutils/30703
+       * doc/webassembly.texi, doc/bfd.texi: Revert 8bb23cdb, adding
+       parameters back to @node.
+
+2023-08-04  Nick Clifton  <nickc@redhat.com>
+
+       PR 15545
+       * cache.c (bfd_cache_close_all): Extend description to note that
+       all files will be closed, even those that are not cacheable.
+       Add code to prevent a possible infinite loop.
+
+2023-08-02  Tom Tromey  <tromey@adacore.com>
+
+       * pei-x86_64.c (PEI_HEADERS): Do not define.
+       * pei-loongarch64.c (PEI_HEADERS): Do not define.
+       * pei-aarch64.c (PEI_HEADERS): Do not define.
+       * pe-x86_64.c (PEI_HEADERS): Do not define.
+       * pe-aarch64.c (PEI_HEADERS): Do not define.
+       * libpei.h (_LIBPEI_H): Add include guard.
+       * coff-x86_64.c (PEI_HEADERS): Do not check.
+       * coff-loongarch64.c (PEI_HEADERS): Do not check.
+       * coff-aarch64.c (PEI_HEADERS): Do not check.
+
+2023-07-24  Johannes Schauer Marin Rodrigues  <josch@debian.org>
+
+       * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): If inserting a
+       timestamp, use the value held in the SOURCE_DATE_EPOCH environment
+       variable, if it is defined.
+
+2023-07-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * reloc.c: New reloc BFD_RELOC_BPF_DISPCALL32.
+       * elf64-bpf.c (bpf_reloc_type_lookup): Handle the new reloc.
+       * libbfd.h (bfd_reloc_code_real_names): Regenerate.
+
+2023-07-09  Fangrui Song  <maskray@google.com>
+
+       PR 30592
+       * section.c: Define SEC_ELF_LARGE.
+       * bfd-in2.h: Regenerate.
+       * elf64-x86-64.c (elf_x86_64_section_flags, elf_x86_64_fake_sections,
+       elf_x86_64_copy_private_section_data): New.
+
+2023-07-03  Nick Clifton  <nickc@redhat.com>
+
+       * version.m4: Update version number to 2.41.50.
+       * configure: Regenerate.
+       * bfd/po/bfd.pot: Regenerate.
+
+2023-07-03  Nick Clifton  <nickc@redhat.com>
+
+       2.41 Branch Point.
+
+2023-06-19  Nick Clifton  <nickc@redhat.com>
+
+       PR 30560
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Add more checks
+       for a valid relocation offset.
+
+2023-06-07  Nick Clifton  <nickc@redhat.com>
+
+       PR 30499
+       * elflink.c (elf_link_add_object_symbols): Add a message
+       indicating that alignment and size discrepancies between the
+       definition of common symbols and normal symbols are serious and
+       should be investigated.
+
+2023-05-31  Tristan Gingold  <tgingold@free.fr>
+
+       PR 30444
+       * coffcode.h (coff_write_object_contents): Handle base64 encoding
+       on PE.  Also check for too large string table.
+       * coffgen.c (extract_long_section_name): New function extracted
+       from ...
+       (make_a_section_from_file): ... here.  Add support for base64
+       long section names.
+       (decode_base64): New function.
+
+2023-05-17  Luca Bacci  <luca.bacci@outlook.com>
+
+       PR 30421
+       * cofflink.c (_decoration_hash_newfunc): New function.
+       (_bfd_coff_link_hash_table_init): Call it.
+       * libcoff-in.h (struct coff_link_hash_table): Add decoration_hash
+       field.
+       (struct decoration_hash_entry): Declare.
+       (_decoration_hash_newfunc): Prototype.
+       * libcoff.h: Regenerate.
+
+2023-05-16  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
+
+       * libcoff-in.h (struct coff_tdata): Add section_by_index and
+       section_by_target_index hash tables.
+       * libcoff.h: Regenerate.
+       * coffcode.h (htab_hash_section_index): New function.
+       (htab_eq_section_index): New function.
+       (htab_hash_section_target_index): New function.
+       (htab_eq_section_target_index): New function.
+       (coff_mkobject_hool): Create the hash tables.
+       * peicode.h: Add the same new functions.
+       (pe_mkobject_hook): Create the hash tables.
+       * coff-x86_64.c (coff_amd64_rtype_to_howto): Use the new tables to
+       speed up lookups.
+       * coffgen.c (coff_section_from_bfd_index): Likewise.
+       (_bfd_coff_close_and_cleanup): Delete the hash tables.
+
+2023-05-10  Luca Bonissi  <gcc@scarsita.it>
+
+       PR 30422
+       * elf32-or1k.c (or1k_elf_relocate_section): Prescan for
+       R_OR1K_GOT_AHI16 relocs as they may occur after R_OR1K_GOT16
+       relocs.
+
+2023-05-05  Nick Clifton  <nickc@redhat.com>
+
+       PR 30354
+       * elf32-arm.c (elf32_arm_gc_mark_extra_sections): If any debug
+       sections are marked then rerun the extra marking in order to pick
+       up any dependencies.
+
+2023-05-03  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
+
+       * archive.c (_bfd_write_archive_contents): Use a larger buffer in
+       order to improve efficiency.
+
+2023-05-03  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
+
+       * coffcode.h (coff_read_word_from_buffer): New function.
+       * coffcode.h (COFF_CHECKSUM_BUFFER_SIZE): New constant.
+       * coffcode.h (coff_compute_checksum): Improve speed by reducing
+       the number of seeks and reads used.
+
+2023-04-24  Nick Clifton  <nickc@redhat.com>
+
+       * po/la.po: New Georgian translation.
+
+2023-04-17  Nick Clifton  <nickc@redhat.com>
+
+       PR 30142
+       * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do not force the .rsrc
+       section to be writeable.
+
+2023-03-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 30285
+       * elf.c (_bfd_elf_slurp_version_tables): Fail if no version
+       definitions are allocated.
+
+2023-02-27  Felix Willgerodt  <felix.willgerodt@intel.com>
+
+       * elf64-x86-64.c (elf_x86_64_grok_psinfo): Check for
+       elf_external_linux_prpsinfo32_ugid32.
+
+2023-02-23  Fangrui Song  <i@maskray.me>
+
+       * elfnn-riscv.c (struct riscv_elf_link_hash_table): Add params.
+       (riscv_elfNN_set_options): New.
+       (riscv_info_to_howto_rela): Check relax_gp.
+       (_bfd_riscv_relax_section): Likewise.
+       * elfxx-riscv.h (struct riscv_elf_params): New.
+       (riscv_elf32_set_options): New.
+       (riscv_elf64_set_options): New.
+
+2023-02-23  Nick Clifton  <nickc@redhat.com>
+            Alan Modra  <amodra@gmail.com>
+
+       PR 30150
+       * dwarf2.c (comp_unit_contains_address): Renamed to ...
+       (comp_unit_may_contain_address): this, and added code to return
+       true if the CU's ranges have not yet been computed.
+       (_bfd_dwarf2_find_nearest_line_with_alt): Use the renamed
+       function, simplifying code in the process.
+
+2023-02-21  Nick Clifton  <nickc@redhat.com>
+
+       * opncls.c (bfd_fill_in_gnu_debuglink_section): Update
+       description.
+
+2023-02-17  Tom Tromey  <tom@tromey.com>
+
+       * doc/doc.str (FUNCTION): Call func.
+
+2023-02-17  Tom Tromey  <tom@tromey.com>
+
+       * opncls.c: Hoist the SECTION comment.
+
+2023-02-17  Tom Tromey  <tom@tromey.com>
+
+       * opncls.c (bfd_get_debug_link_info_1, separate_debug_file_exists)
+       (separate_alt_debug_file_exists, find_separate_debug_file)
+       (get_build_id, get_build_id_name, check_build_id_file): Don't use
+       chew comments.
+
+2023-02-17  Tom Tromey  <tom@tromey.com>
+
+       * doc/doc.str (SYNOPSIS): Use collapse_whitespace.
+       * doc/chew.c (collapse_whitespace): New function.
+       (main): Register collapse_whitespace.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * bfd.c, cache.c, compress.c, opncls.c: Remove RETURNS from
+       documentation comments.
+       * doc/doc.str, doc/proto.str (RETURNS): Remove.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * syms.c (bfd_decode_symclass, bfd_is_undefined_symclass)
+       (bfd_symbol_info): Reorder documentation comment.
+       * doc/doc.str (synopsis_seen): New variable.
+       (SYNOPSIS): Set synopsis_seen.  Emit @deftypefn.
+       (DESCRIPTION): Use synopsis_seen.
+       * doc/chew.c (catstrif): New function.
+       (main): Add catstrif intrinsic.
+       (compile): Recognize "variable" command.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * doc/proto.str (external, internal, ifinternal, ENUMEQ, ENUMDOC):
+       Update.
+       * doc/chew.c (internalmode): Remove.
+       (add_intrinsic_variable): New function.
+       (main): Add internalmode as intrinsic.
+       (internal_mode): Remove global.
+       (maybecatstr): Update.
+       (free_words): Free variables.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * doc/chew.c (pcu) <l>: Now intptr_t.
+       (internal_mode, istack, isp): Likewise.
+       (bang, atsign): Use intptr_t.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * doc/proto.str (SYNOPSIS): Don't use paramstuff.
+       * doc/chew.c (paramstuff): Remove.
+       (main): Don't add paramstuff intrinsic.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * doc/doc.str, doc/proto.str: Add copyright header.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * doc/webassembly.texi (File layout): Remove second argument from
+       @node.
+       * doc/bfd.texi: Use single-argument @node everywhere.
+
+2023-02-07  Tom Tromey  <tom@tromey.com>
+
+       * Makefile.in: Rebuild.
+       * doc/local.mk (%D%/chew.stamp): Don't use H_CFLAGS.
+
+2023-01-24  Nick Clifton  <nickc@redhat.com>
+
+       PR 29998
+       * cofflink.c (_bfd_coff_generic_relocate_section): Add an
+       assertion that the output section is set for defined, global
+       symbols.
+
+2023-01-17  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
+
+       * elf32-csky.c (elf32_csky_merge_attributes): Don't save
+       and restore the ARCH attribute, it will actually clear
+       the ARCH attribute.
+       (csky_elf_merge_private_bfd_data): Store the machine flag
+       correctly.
+
+2023-01-13  Nick Clifton  <nickc@redhat.com>
+
+       * po/ro.po: Updated Romainian translation.
+
+2023-01-11  Nick Clifton  <nickc@redhat.com>
+
+       PR 29988
+       * dwarf2.c (read_indexed_address): Fix check for an out of range
+       offset.
+
+2023-01-06  Nick Clifton  <nickc@redhat.com>
+
+       * po/ru.po: Updated Russian translation.
+
+2023-01-03  Himal  <himalr@proton.me>
+
+       PR 29947
+       * bfdio.c (_bfd_real_fopen): Do not add a prefix to the Windows'
+       nul device filename.
+
+2023-01-03  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French trabslation.
+       * po/uk.po: Updated Ukrainian trabslation.
+
+2022-12-31  Nick Clifton  <nickc@redhat.com>
+
+       * 2.40 branch created.
+
+2022-12-23  Nick Clifton  <nickc@redhat.com>
+
+       PR 29936
+       * dwarf2.c (concat_filename): Fix check for a directory index off
+       the end of the directory table.
+
+2022-12-21  Nick Clifton  <nickc@redhat.com>
+
+       * po/ro.po: Updated Romanian translation.
+
+2022-12-06  Nick Clifton  <nickc@redhat.com>
+
+       PR 29852
+       * elf32-arm.c (cmse_scan): Check for NULL entries in the
+       sym_hashes array.
+       (elf32_arm_gc_mark_extra_sections): Likewise.
+
+2022-12-05  Nick Clifton  <nickc@redhat.com>
+
+       PR 29848
+       * vms-alpha.c (parse_module): Fix potential out of bounds memory
+       access.
+
+2022-12-01  Nick Clifton  <nickc@redhat.com>
+
+       PR 25202
+       * bfd.c (VerilogDataEndianness): New variable.
+       (verilog_write_record): Use VerilogDataEndianness, if set, to
+       choose the endianness of the output.
+       (verilog_write_section): Adjust the address by the data width.
+
+2022-11-21  Nick Clifton  <nickc@redhat.com>
+
+       PR 29764
+       * cpu-arm.c (scan): Accept machine names prefixed with "arm:".
+       * cpu-aarch64.c (scan): Accept machine names prefixed with "aarch64:".
+
+2022-10-19  Nick Clifton  <nickc@redhat.com>
+
+       PR 29699
+       * elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
+       of the section header is zero.
+
+2022-09-09  Nick Clifton  <nickc@redhat.com>
+
+       PR 29532
+       * elf.c (setup_group): Do not return false if there is no group
+       information available.
+
+2022-09-02  Aaron Merey  <amerey@redhat.com>
+
+       * aout-target.h (MY_find_nearest_line_with_alt): New macro.
+       * bfd-in2.h: Regenerate.
+       * bfd.c (bfd_find_nearest_line_with_alt): New macro.
+       * binary.c (binary_find_nearest_line_with_alt): New macro.
+       * coff-rs6000.c (_bfd_xcoff_find_nearest_line_with_alt): New macro.
+       (rs6000_xcoff64_vec): Add coff_find_nearest_line_with_alt.
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): Calls
+       _bfd_dwarf2_find_nearest_line_with_alt.
+       (_bfd_dwarf2_find_nearest_line_with_alt): New function. Implements the
+       former _bfd_dwarf2_find_nearest_line. Adds parameter alt_filename.
+       Attempt to open alt_filename and use it as the .dwz file if not NULL.
+       * elf-bfd.h (_bfd_elf_find_nearest_line_with_alt): New declaration.
+       * elf.c (_bfd_elf_find_nearest_line): Calls
+       _bfd_elf_find_nearest_line_with_alt.
+       (_bfd_elf_find_nearest_line_with_alt): New function. Implements the
+       former _bfd_elf_find_nearest_line. Adds parameter alt_filename.
+       * elf32-mips.c (bfd_elf32_find_nearest_line_with_alt): New macro.
+       * elf64-mips.c (bfd_elf64_find_nearest_line_with_alt): New macro.
+       * elfn32-mips.c (bfd_elf32_find_nearest_line_with_alt): New macro.
+       * elfxx-mips.h (_bfd_mips_elf_find_nearest_line_with_alt): New macro.
+       * elfxx-target.h (bfd_elfNN_find_nearest_line_with_alt): New macro.
+       * i386mdos.c (msdos_find_nearest_line_with_alt): New macro.
+       * ihex.c (ihex_find_nearest_line_with_alt): New macro.
+       * libbfd-in.h (_bfd_nosymbols_find_nearest_line_with_alt): New
+       declaration.
+       (_bfd_dwarf2_find_nearest_line_with_alt): New declaration.
+       * libbfd.h: Regenerate.
+       * libcoff-in.h (coff_find_nearest_line_with_alt): New macro.
+       * libcoff.h: Regenerate.
+       * libecoff.h (_bfd_ecoff_find_nearest_line_with_alt): New macro.
+       * mach-o.h (bfd_mach_o_find_nearest_line_with_alt): New macro.
+       * mmo.c (mmo_find_nearest_line_with_alt): New macro.
+       * pef.c (bfd_pef_find_nearest_line_with_alt): New macro.
+       * plugin.c (bfd_plugin_find_nearest_line_with_alt): New macro.
+       * ppcboot.c (ppcboot_find_nearest_line_with_alt): New macro.
+       * som.h (som_find_nearest_line_with_alt): New macro.
+       * srec.c (srec_find_nearest_line_with_alt): New macro.
+       * syms.c (_bfd_nosymbols_find_nearest_line_with_alt): New function.
+       * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add symbol for
+       NAME##_find_nearest_line_with_alt.
+       (_bfd_find_nearest_line_with_alt): Add declaration.
+       * tekhex.c (tekhex_find_nearest_line_with_alt): New macro.
+       * verilog.c (verilog_find_nearest_line_with_alt): New macro.
+       * vms-alpha.c (_bfd_vms_find_nearest_line_with_alt): New macro.
+       * wasm-module.c (wasm_find_nearest_line_with_alt): New macro.
+       * xsym.c (bfd_sym_find_nearest_line_with_alt): New macro.
+
+2022-09-02  Frederic Cambus  <fred@statdns.com>
+
+       * config.bfd (arm-*-openbsd*): Restore target.
+
+2022-08-30  Nick Clifton  <nickc@redhat.com>
+
+       PR 29529
+       * dwarf2.c (struct line_info_table): Add new field:
+       use_dir_and_file_0.
+       (concat_filename): Use new field to help select the correct table
+       slot.
+       (read_formatted_entries): Do not skip entry 0.
+       (decode_line_info): Set new field depending upon the version of
+       DWARF being parsed.  Initialise filename based upon the setting of
+       the new field.
+
+2022-08-22  Frederic Cambus  <fred@statdns.com>
+
+       * config.bfd (aarch64-*-openbsd*): Add target.
+
+2022-08-03  Nick Clifton  <nickc@redhat.com>
+
+       PR 29389
+       * bfd.c (BFD_CLOSED_BY_CACHE): New bfd flag.
+       * cache.c (bfd_cache_delete): Set BFD_CLOSED_BY_DELETE on the
+       closed bfd.
+       (bfd_cache_lookup_worker): Clear BFD_CLOSED_BY_DELETE on the newly
+       reopened bfd.
+       * opncls.c (bfd_set_filename): Refuse to change the name of a bfd
+       that has been closed by bfd_cache_delete.  Mark changed bfds as
+       uncacheable.
+       * bfd-in2.h: Regenerate.
+
 2022-07-29  Nick Clifton  <nickc@redhat.com>
 
        PR 29424
 
 For older changes see ChangeLog-2020
 \f
-Copyright (C) 2021-2022 Free Software Foundation, Inc.
+Copyright (C) 2021-2023 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright