+
+ * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Pass
+ $gcc_gas_flag to target_compile.
+
+
+ * readelf.c (INT64_MIN): Define if not already defined.
+ (print_vms_time): Catch 64-bit overflow when converting from
+ vms time to posix time. Don't segfault if gmtime returns NULL.
+
+
+ * NEWS: Mention LAM_U48 and LAM_U57 support.
+ * elfedit.c (elf_x86_feature): Support lam_u48 and lam_u57.
+ (usage): Add lam_u48 and lam_u57.
+ * readelf.c (decode_x86_feature_1): Support LAM_U48 and LAM_U57.
+ * doc/binutils.texi: Update elfedit with lam_u48 and lam_u57
+ support.
+ * testsuite/binutils-all/x86-64/lam-u48.d: New file.
+ * testsuite/binutils-all/x86-64/lam-u48.s: Likewise.
+ * testsuite/binutils-all/x86-64/lam-u57.d: Likewise.
+ * testsuite/binutils-all/x86-64/lam-u57.s: Likewise.
+
+
+ * readelf.c (get_dynamic_type): Handle DT_GNU_FLAGS_1.
+ (process_dynamic_section): Likewise.
+
+
+ * readelf.c (get_machine_name): Update list of e_machine values.
+
+
+ * ar.c (write_archive): Cast iostream pointer to FILE *.
+ * arsup.c (ar_save): Likewise.
+ * objcopy.c (copy_file): Likewise.
+
+
+ * objcopy.c (is_mergeable_note_section): Remove reference to
+ SHF_GNU_BUILD_NOTE.
+
+
+ PR 26945
+ * ar.c
+ (write_archive) [!defined (_WIN32) || defined (__CYGWIN32__)]:
+ Initialize TARGET_STAT and OFD to pass to SMART_RENAME.
+ * arsup.c
+ (ar_save) [defined (_WIN32) || defined (__CYGWIN32__)]:
+ Likewise.
+ * bucomm.h (smart_rename): Add new arguments to declaration.
+ * objcopy.c
+ (strip_main)[defined (_WIN32) || defined (__CYGWIN32__)]:
+ Initialize COPYFD and pass to SMART_RENAME.
+ (copy_main) [defined (_WIN32) || defined (__CYGWIN32__)]:
+ Likewise.
+ * rename.c (try_preserve_permissions): New function.
+ (smart_rename): Use it and add new arguments.
+
+
+ PR 26945
+ * objcopy.c (copy_file): New argument IN_STAT. Return stat of
+ ibfd through it.
+ (strip_main): Remove redundant stat calls. adjust copy_file
+ calls.
+ (copy_main): Likewise.
+
+
+ PR 26945
+ * bucomm.c (make_tempname): Add argument to return file
+ descriptor.
+ * bucomm.h (make_tempname): Likewise.
+ * ar.c: Include libbfd.h.
+ (write_archive): Adjust for change in make_tempname. Call
+ bfd_fdopenw instead of bfd_openw.
+ * objcopy.c: Include libbfd.h.
+ (copy_file): New argument OFD. Use bfd_fdopenw instead of
+ bfd_openw.
+ (strip_main): Adjust for change in make_tempname and
+ copy_file.
+ (copy_main): Likewise.
+
+
+
+ * README-how-to-make-a-release (point releases): Add a note to
+ update the milestone list on sourceware's bugzilla.
+
+
+ * dwarf.c (frame_display_row): Do without static variable "sloc".
+ (cu_tu_indexes_read): Move to file scope.
+ (free_debug_memory): Reset it here, along with level_type_signed.
+ Free and clear a number of other static variables.
+ * readelf.c (arm_attr_public_tag <table>): Constify, updating..
+ (arm_attr_tag_*): ..all these uses.
+ (process_mips_specific): Free "rels" on error path.
+
+
+ PR 26865
+ * windres.c (main): If the preprocessor name includes spaces,
+ ensure that it is quoted.
+
+
+ * testsuite/lib/binutils-common.exp (supports_noinit_section): New.
+ (supports_persistent_section): New.
+
+
+ * readelf.c (dump_section_as_ctf): Call ctf_arc_symsect_endianness.
+
+
+ * testsuite/binutils-all/nm.exp (ifunc): xfail more targets.
+
+
+ * readelf.c (dump_section_as_ctf): Use .dynsym and .dynstr, not
+ .symtab and .strtab.
+
+
+ * objdump.c (dump_ctf): Report errors from ctf_archive_iter.
+ * readelf.c (dump_section_as_ctf): Likewise.
+
+
+ * objdump.c (dump_ctf): Use ctf_dict_open, not
+ ctf_arc_open_by_name.
+ * readelf.c (dump_section_as_ctf): Likewise.
+
+
+ * objdump.c (dump_ctf_errs): Rename ctf_file_t to ctf_dict_t.
+ (dump_ctf_archive_member): Likewise.
+ (dump_ctf): Likewise. Use ctf_dict_close, not ctf_file_close.
+ * readelf.c (dump_ctf_errs): Rename ctf_file_t to ctf_dict_t.
+ (dump_ctf_archive_member): Likewise.
+ (dump_section_as_ctf): Likewise. Use ctf_dict_close, not
+ ctf_file_close.
+
+
+ PR 22967
+ * nm.c (ifunc_type_chars): New variable.
+ (long_options): Add --ifunc-chars.
+ (print_symbol): Use ifunc_type_chars for ifunc symbols.
+ (main): Handle the new option.
+ * doc/binutils.texi: Document the new option.
+ * configure.ac: Add --enable-f-for-ifunc-symbols option which
+ changes the default symbol displayed by nm.
+ * NEWS: Mention the new feature.
+ * testsuite/binutils-all/nm.exp: Test the new feature.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+
+
+ PR 20979
+ * dllwrap.c (main): Deprecate and warn the use of dllwrap.
+
+
+ * testsuite/binutils-all/readelf-maskos-1a.d: Fix test for unrecognized
+ bit set in SHF_MASKOS range.
+ * testsuite/binutils-all/readelf-maskos-1b.d: Likewise.
+ * testsuite/binutils-all/readelf-maskos-unknown.s: New test.
+
+
+ * NEWS: Announce SHF_GNU_RETAIN support.
+ * readelf.c (get_elf_section_flags): Handle SHF_GNU_RETAIN.
+ Recognize SHF_GNU_RETAIN and SHF_GNU_MBIND only for supported OSABIs.
+ * testsuite/binutils-all/readelf.exp: Run new tests.
+ Don't run run_dump_test when there isn't an assembler available.
+ * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Adjust
+ comment.
+ * testsuite/binutils-all/readelf-maskos-1a.d: New test.
+ * testsuite/binutils-all/readelf-maskos-1b.d: New test.
+ * testsuite/binutils-all/readelf-maskos.s: New test.
+ * testsuite/binutils-all/retain1.s: New test.
+ * testsuite/binutils-all/retain1a.d: New test.
+ * testsuite/binutils-all/retain1b.d: New test.
+
+
+ * ar.c (main): Place the libdeps record in the second archive
+ slot.
+
+
+ PR 26829
+ * dwarf.c (struct dwo_info): Add cu_offset field.
+ (add_dwo_info): Add cu_offset parameter. Record in new dwo_info
+ struct.
+ (add_dwo_name): Add cu_offset field.
+ (add_dwo_dir): Add cu_offset field.
+ (add_dwo_id): Add cu_offset field.
+ (read_and_display_attr_value): Pass cu_offset to dwo recording
+ functions.
+ (load_separate_debug_files): Accumulate name, dir and id values
+ and display once for each CU.
+ * testsuite/binutils-all/dwo.sL Use a separate CU for the second
+ dwo link.
+ * testsuite/binutils-all/readelf.k2: Update expected output.
+
+
+ * dwarf.c (display_debug_rnglists_list): Only bias the
+ DW_RLS_offset_pair with the base address.
+
+
+ * dwarf.c (skip_attr_bytes): Correctly handle DW_FORM_ref8.
+ (get_type_abbrev_from_form): Accept DW_FORM_ref8.
+
+
+ * Makefile.am (development.exp): Fix regexp.
+ * Makefile.in: Regenerate.
+
+
+ PR 26847
+ * dwarf.c (read_and_display_attr_value): In wide mode, display the
+ name of the form.
+
+
+ * elfedit (usage): Avoid false positive "may be used uninitialised".
+ Don't leak memory.
+
+
+ * ar.c (main): Use plugin_target rather than "target" when
+ resetting libdeps_bfd target.
+
+
+ * elfedit.c: Include "libiberty.h".
+ (usage): Update help message.
+
+
+ * ar.c (long_options): Add --record-libdeps.
+ (usage): Mention the new option.
+ (decode_options): Handle the new option.
+ (replace_members): If necessary, create a bfd to hold the libdeps
+ description.
+ * binemul.c (ar_emul_append_bfd): New function.
+ (ar_emul_replace_bfd): New function.
+ (ar_emul_default_append): Replace file_name and target arguments
+ with new_bfd argument.
+ (ar_emul_default_replace): Likewise.
+ * binemul.h: Update prototypes.
+ (struct bin_emulation_xfer_struct): Update fields.
+ * doc/binutils.texi: Document the new option.
+ * NEWS: Mention the new feature.
+ * emul_aix.c (ar_emul_aix_append): Update.
+ (ar_emul_aix_replace): Likewise.
+ * testsuite/binutils-all/ar.exp: Add test of new feature.
+
+
+ PR gas/26703
+ * readelf.c (decode_x86_isa): Handle
+ * GNU_PROPERTY_X86_ISA_1_BASELINE.
+ * testsuite/binutils-all/i386/empty.d: Updated.
+ * testsuite/binutils-all/i386/ibt.d: Likewise.
+ * testsuite/binutils-all/i386/pr21231a.d: Likewise.
+ * testsuite/binutils-all/i386/pr21231b.d: Likewise.
+ * testsuite/binutils-all/i386/shstk.d: Likewise.
+ * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/empty.d: Likewise.
+ * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/ibt.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
+ * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/shstk.d: Likewise.
+
+
+ PR binutils/26808
+ * dwarf.c (abbrev_list): Add abbrev_base.
+ (new_abbrev_list): Add an abbrev_base argument and record it.
+ (find_abbrev_list_by_abbrev_offset): Add an abbrev_base argument
+ and match it.
+ (process_debug_info): Pass abbrev_base to new_abbrev_list and
+ find_abbrev_list_by_abbrev_offset.
+ (display_debug_abbrev): Pass 0 abbrev_base to new_abbrev_list
+ and find_abbrev_list_by_abbrev_offset.
+ * testsuite/binutils-all/x86-64/pr26808.dump: New file.
+ * testsuite/binutils-all/x86-64/pr26808.dwp.bz2: Likewise.
+ * testsuite/binutils-all/x86-64/x86-64.exp: Run PR binutils/26808
+ test.
+
+
+ PR 26805
+ * objcopy.c (is_dwo_section): Check for missing or short section
+ names.
+
+
+ * README-how-to-make-a-release: Use sha256sum instead of md5sum.
+
+
+ PR 26795
+ * elfedit.c (process_archive): Remove spurious call to free().
+
+
+ * dwarf.c (struct abbrev_list): New structure. Used to collect
+ lists of abbreviation sets.
+ (struct abbrev_map): New structure. Used to map CU offsets to
+ abbreviation offsets.
+ (record_abbrev_list): New function. A new entry to an
+ abbreviation list.
+ (free_all_abbrevs): Update to free abbreviation lists.
+ (new_abbrev_list): New function. Start a new abbreviation
+ list.
+ (find_abbrev_list_by_abbrev_offset): New function.
+ (find_abbrev_map_by_offset): New function.
+ (add_abbrev): Add abbrev_list parameter.
+ (add_abbrev_attr): Likewise.
+ (process_abbrev_section): Rename to process_abbrev_set and add
+ list parameter.
+ (get_type_abbrev_from_form): New function. Attempts to decode the
+ forms used by DW_AT_type attributes.
+ (get_type_signedness): Display type names if operating in wide
+ mode. Use get_type_abbrev_from_form.
+ (read_and_display_attr_value): Use get_type_abbrev_from_form.
+ (process_debug_info): Pre-parse the CU headers to collate all the
+ abbrevs before starting the main scan.
+ (process_debug_abbrev): Do not free any loaded abbrevs.
+ (free_debug_memory): Free the abbrev maps.
+
+
+ * testsuite/binutils-all/objcopy.exp (objcopy_test): Report
+ error message on error.
+
+
+ * windmc.c (write_header_define): Fix printf format.
+ (write_header): Likewise.
+
+
+ * dwarf.c (skip_attr_bytes): Accept DWARF versions higher than 4
+ when processing the DW_FORM_ref_addr form.
+ Skip bytes in DW_FORM_block and DW_FORM_exprloc forms.
+ Handle DW_FORM_indirect.
+ (get_type_signedness): Allow a limited amount of recursion.
+ Do not attempt to decode types that use the DW_FORM_ref_addr form.
+ (read_and_display_attr_value): Do not attempt to decode types
+ that use the DW_FORM_ref_addr form.
+
+
+ * readelf.c: Delete whitespace at end of line throughout.
+ (SECTION_NAME, SECTION_NAME_VALID): New.
+ (SECTION_NAME_PRINT): Rename from SECTION_NAME. Formatting.
+ (printable_section_name, dump_relocations): Use SECTION_NAME_PRINT.
+ (process_section_headers, process_section_groups): Likewise.
+ (shdr_to_ctf_sect): Likewise.
+ (find_section, find_section_in_set): Use SECTION_NAME_VALID.
+ (ia64_process_unwind, hppa_process_unwind): Likewise.
+ (display_debug_section, initialise_dumps_byname): Likewise.
+ (process_lto_symbol_tables): Likewise. Check trailing period of
+ lto symbol table names.
+ (display_lto_symtab): Use sizeof instead of strlen.
+
+
+ * MAINTAINERS (RISC-V): Add myself as RISC-V co-maintainer.
+
+
+ * readelf.c (do_lto_syms): New local.
+ (long_option_values): Add OPTION_LTO_SYMS.
+ (options): Add --lto-syms.
+ (usage): Mention the new option.
+ (parse_args): Parse the new option.
+ (get_lto_kind): New function.
+ (get_lto_visibility): New function.
+ (get_lto_sym_type): New function.
+ (display_lto_symtab): New function - displays the contents of an
+ LTo symbol table section.
+ (process_lto_symbol_tables): New functions. Calls
+ dipslay_lto_symtab on any LTO symbol table section.
+ (process_object_file): Call process_lto_symbol_tables.
+ * doc/binutils.texi: Document the new option.
+ * NEWS: Mention the new feature.
+
+
+ PR gas/26703
+ * readelf.c (decode_x86_compat_2_isa): New function.
+ (decode_x86_isa): Updated for new X86_ISA_1_XXX bits.
+ (decode_x86_feature_1): Handle GNU_PROPERTY_X86_FEATURE_2_MASK.
+ (print_gnu_property_note): Handle X86_COMPAT_2_ISA_1_USED,
+ and X86_COMPAT_2_ISA_1_NEEDED.
+ * testsuite/binutils-all/i386/pr21231b.s: Updated to the current
+ GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
+ values.
+ * testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494a.s: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494b.s: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494c.s: Likewise.
+ * testsuite/binutils-all/i386/empty.d: Updated.
+ * testsuite/binutils-all/i386/ibt.d: Likewise.
+ * testsuite/binutils-all/i386/pr21231a.d: Likewise.
+ * testsuite/binutils-all/i386/pr21231b.d: Likewise.
+ * testsuite/binutils-all/i386/shstk.d: Likewise.
+ * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/empty.d: Likewise.
+ * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/ibt.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
+ * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
+ * testsuite/binutils-all/x86-64/shstk.d: Likewise.
+
+
+ * objcopy.c (copy_object): Compare input and output sections by
+ pointer rather than name.
+
+
+ PR 26698
+ * windmc.c (mc_unify_path): Fix typo checking character at end of
+ pathname.
+
+
+ * doc/binutils.texi: Fix spelling mistakes.
+
+
+ * dwarf.c (display_loclists_list): Handle DW_LLE_start_end and
+ DW_LLE_start_length. Only add base_address for DW_LLE_offset_pair.
+
+
+ * elfcomm.c (byte_put_little_endian, byte_put_big_endian): Support
+ more field sizes.
+ * readelf.c (target_specific_reloc_handling <MSP430>): Limit
+ allowed reloc_size. Don't read_leb128 outside of section.
+
+
+ * dwarf.c (process_debug_info): Print Unit Type for DWARF5.
+ * testsuite/binutils-all/dw5.W: Adjust expected output.
+ * testsuite/binutils-all/dwarf-attributes.W: Likewise.
+
+
+ * dwarf.c (read_and_display_attr_value): Handle DW_FORM_ref_addr
+ for dwarf_version 5 just as version 3 and 4 (only 2 is
+ different).
+ (process_debug_info): Allow DW_UT_partial.
+
+
+ PR 26662
+ * doc/binutils.texi (nm): Document that 'c' is used for small
+ common symbols.
+
+
+ * doc/binutils.texi (objcopy, strip): Say that
+ '--strip-unneeded' implies '--strip-debug'.
+
+
+ * verilog.c (verilog_write_address): Properly handle 64-bit
+ addresses to avoid truncation of the high part.
+
+
+ * nm.c (print_symbol): Adjust elf_symbol_from invocation.
+ * objcopy.c (is_hidden_symbol): Likewise.
+
+
+ * README-how-to-make-a-release (https): Add a reminder to create a
+ new Bugzilla tag for the point release, once it has been published.
+
+
+ * readelf.c (get_note_type): Support NT_X86_CET.
+
+
+ PR 26595
+ * dwarf.c (load_separate_debug_info): Return NULL rather than
+ FALSE in error situations.
+ (load_separate_debug_file): Move code to load debug links to ...
+ (check_for_and_load_links): ... here. New function. Load
+ separate debug information pointed to by debuglink and
+ debugaltlink sections. Recursively scan newly loaded debug
+ information for more links and load them too.
+
+
+ PR 26578
+ * dwarf.c (parse_gnu_debugaltlink): Don't alloc build_id_data.
+ (load_separate_debug_files): Use a stack var for build_id_data.
+
+
+ PR ld/26587
+ * testsuite/binutils-all/objcopy.exp: Pass --disable-reloc-section
+ to ld on PE targets for PR 25662 test.
+
+
+ * readelf.c (target_specific_reloc_handling): Handle
+ R_MSP430{,X}_GNU_{SET,SUB}_ULEB128.
+
+
+ * objdump.c (disassemble_bytes): Use an unsigned type for "addend".
+
+
+ * readelf.c (print_gnu_build_attribute_name): Use unsigned long
+ long for "bytes".
+
+
+ PR 26548
+ * dwarf.c (read_leb128): When checking for overflow of a signed
+ read, use a signed shift.
+
+
+ * readelf.c (get_csky_section_type_name): New.
+ (get_section_type_name): Add handler for CSKY.
+ (display_csky_attribute): New.
+ (process_arch_specific): Add handler for CSKY.
+ * testsuite/binutils-all/strip-3.d: Remove .csky.attributes
+ section.
+
+
+ * readelf.c (get_msp430x_section_type_name): Rename to ...
+ (get_msp430_section_type_name): ... this.
+ (get_section_type_name): Use get_msp430_section_type_name.
+ (display_msp430x_attribute): Rename to ...
+ (display_msp430_attribute): ... this.
+ (process_arch_specific): Use display_msp430_attribute.
+
PR 26356