blob: 7bd55845686a7834931149d1f2a826bdf0a98e91 [file] [log] [blame]
2020-12-31 Alan Modra <>
PR 27128
* nm.c (print_symname): Append version string to symbol name
before printing the lot under control of "form". Append version
to demangled names too.
2020-12-29 H.J. Lu <>
* elfedit (usage): Pass osabi to reconcat.
2020-12-28 H.J. Lu <>
* testsuite/binutils-all/compress.exp (test_gnu_debuglink): Pass
$gcc_gas_flag to target_compile.
2020-12-24 Alan Modra <>
* 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.
2020-12-23 H.J. Lu <>
* 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
* 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.
2020-12-15 Vivek Das Mohapatra <>
* readelf.c (get_dynamic_type): Handle DT_GNU_FLAGS_1.
(process_dynamic_section): Likewise.
2020-12-11 Cary Coutant <>
* readelf.c (get_machine_name): Update list of e_machine values.
2020-12-11 Sebastian Huber <>
* ar.c (write_archive): Cast iostream pointer to FILE *.
* arsup.c (ar_save): Likewise.
* objcopy.c (copy_file): Likewise.
2020-12-07 Nick Clifton <>
* objcopy.c (is_mergeable_note_section): Remove reference to
2020-12-07 Siddhesh Poyarekar <>
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__)]:
* 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__)]:
* rename.c (try_preserve_permissions): New function.
(smart_rename): Use it and add new arguments.
2020-12-07 Siddhesh Poyarekar <>
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
(copy_main): Likewise.
2020-12-07 Siddhesh Poyarekar <>
PR 26945
* bucomm.c (make_tempname): Add argument to return file
* 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
(strip_main): Adjust for change in make_tempname and
(copy_main): Likewise.
2020-12-07 Nick Clifton <>
* README-how-to-make-a-release (point releases): Add a note to
update the milestone list on sourceware's bugzilla.
2020-12-04 Alan Modra <>
* 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.
2020-11-27 Nick Clifton <>
PR 26865
* windres.c (main): If the preprocessor name includes spaces,
ensure that it is quoted.
2020-11-27 Jozef Lawrynowicz <>
* testsuite/lib/binutils-common.exp (supports_noinit_section): New.
(supports_persistent_section): New.
2020-11-23 Nick Alcock <>
* readelf.c (dump_section_as_ctf): Call ctf_arc_symsect_endianness.
2020-11-25 Alan Modra <>
* testsuite/binutils-all/nm.exp (ifunc): xfail more targets.
2020-11-20 Nick Alcock <>
* readelf.c (dump_section_as_ctf): Use .dynsym and .dynstr, not
.symtab and .strtab.
2020-11-20 Nick Alcock <>
* objdump.c (dump_ctf): Report errors from ctf_archive_iter.
* readelf.c (dump_section_as_ctf): Likewise.
2020-11-20 Nick Alcock <>
* objdump.c (dump_ctf): Use ctf_dict_open, not
* readelf.c (dump_section_as_ctf): Likewise.
2020-11-20 Nick Alcock <>
* 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
2020-11-20 Nick Clifton <>
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.
* 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.
* Regenerate.
* configure: Regenerate.
2020-11-20 Linda Zhang <>
PR 20979
* dllwrap.c (main): Deprecate and warn the use of dllwrap.
2020-11-20 Jozef Lawrynowicz <>
* 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.
2020-11-18 Jozef Lawrynowicz <>
* 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
* 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.
2020-11-17 Howard Chu <>
* ar.c (main): Place the libdeps record in the second archive
2020-11-13 Nick Clifton <>
PR 26829
* dwarf.c (struct dwo_info): Add cu_offset field.
(add_dwo_info): Add cu_offset parameter. Record in new dwo_info
(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
(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.
2020-11-11 Bernd Edlinger <>
* dwarf.c (display_debug_rnglists_list): Only bias the
DW_RLS_offset_pair with the base address.
2020-11-10 Nick Clifton <>
* dwarf.c (skip_attr_bytes): Correctly handle DW_FORM_ref8.
(get_type_abbrev_from_form): Accept DW_FORM_ref8.
2020-11-09 Andreas Schwab <>
* (development.exp): Fix regexp.
* Regenerate.
2020-11-09 Nick Clifton <>
PR 26847
* dwarf.c (read_and_display_attr_value): In wide mode, display the
name of the form.
2020-11-09 Alan Modra <>
* elfedit (usage): Avoid false positive "may be used uninitialised".
Don't leak memory.
2020-11-09 Howard Chu <>
* ar.c (main): Use plugin_target rather than "target" when
resetting libdeps_bfd target.
2020-11-06 H.J. Lu <>
* elfedit.c: Include "libiberty.h".
(usage): Update help message.
2020-11-03 Howard Chu <>
* 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
* 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.
2020-10-30 H.J. Lu <>
PR gas/26703
* readelf.c (decode_x86_isa): Handle
* 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.
2020-10-29 H.J. Lu <>
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
(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
2020-10-29 Nick Clifton <>
PR 26805
* objcopy.c (is_dwo_section): Check for missing or short section
2020-10-26 Andreas Rammhold <>
* README-how-to-make-a-release: Use sha256sum instead of md5sum.
2020-10-28 Nick Clifton <>
PR 26795
* elfedit.c (process_archive): Remove spurious call to free().
2020-10-27 Nick Clifton <>
* 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
(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.
2020-10-22 H.J. Lu <>
* testsuite/binutils-all/objcopy.exp (objcopy_test): Report
error message on error.
2020-10-22 Dr. David Alan Gilbert <>
* windmc.c (write_header_define): Fix printf format.
(write_header): Likewise.
2020-10-21 Nick Clifton <>
* 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.
2020-10-20 Alan Modra <>
* readelf.c: Delete whitespace at end of line throughout.
(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.
2020-10-20 Nelson Chu <>
* MAINTAINERS (RISC-V): Add myself as RISC-V co-maintainer.
2020-10-19 Nick Clifton <>
* 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.
2020-10-09 H.J. Lu <>
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,
* testsuite/binutils-all/i386/pr21231b.s: Updated to the current
* 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.
2020-10-06 Nick Clifton <>
* objcopy.c (copy_object): Compare input and output sections by
pointer rather than name.
2020-10-05 Nick Clifton <>
PR 26698
* windmc.c (mc_unify_path): Fix typo checking character at end of
2020-10-05 Samanta Navarro <>
* doc/binutils.texi: Fix spelling mistakes.
2020-09-29 Mark Wielaard <>
* dwarf.c (display_loclists_list): Handle DW_LLE_start_end and
DW_LLE_start_length. Only add base_address for DW_LLE_offset_pair.
2020-09-25 Alan Modra <>
* 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.
2020-09-23 Mark Wielaard <>
* 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.
2020-09-23 Mark Wielaard <>
* 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
(process_debug_info): Allow DW_UT_partial.
2020-09-24 Nick Clifton <>
PR 26662
* doc/binutils.texi (nm): Document that 'c' is used for small
common symbols.
2020-09-21 Ludovic Court├Ęs <>
* doc/binutils.texi (objcopy, strip): Say that
'--strip-unneeded' implies '--strip-debug'.
2020-09-16 Anatoly Parshintsev <>
* verilog.c (verilog_write_address): Properly handle 64-bit
addresses to avoid truncation of the high part.
2020-09-16 Alan Modra <>
* nm.c (print_symbol): Adjust elf_symbol_from invocation.
* objcopy.c (is_hidden_symbol): Likewise.
2020-09-15 Nick Clifton <>
* 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.
2020-09-11 H.J. Lu <>
* readelf.c (get_note_type): Support NT_X86_CET.
2020-09-11 Nick Clifton <>
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.
2020-09-09 Alan Modra <>
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.
2020-09-08 H.J. Lu <>
PR ld/26587
* testsuite/binutils-all/objcopy.exp: Pass --disable-reloc-section
to ld on PE targets for PR 25662 test.
2020-09-08 Jozef Lawrynowicz <>
Kuan-Lin Chen <>
* readelf.c (target_specific_reloc_handling): Handle
2020-09-02 Alan Modra <>
* objdump.c (disassemble_bytes): Use an unsigned type for "addend".
2020-08-30 Alan Modra <>
* readelf.c (print_gnu_build_attribute_name): Use unsigned long
long for "bytes".
2020-08-28 Nick Clifton <>
PR 26548
* dwarf.c (read_leb128): When checking for overflow of a signed
read, use a signed shift.
2020-08-28 Cooper Qu <>
* 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
2020-08-27 Jozef Lawrynowicz <>
* 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.
2020-08-27 John David Anglin <>
PR 26356
* testsuite/binutils-all/objcopy.exp (objcopy --reverse-bytes): Add
"-j $PRIVATE$" to command on hppa*-*-hpux*.
* testsuite/lib/utils-lib.exp (default_binutils_run): Remove existing
dollar-sign quotes before quoting. Do this prior to generating log
2020-08-27 Ralf Habacker <>
PR 26088
* mclex.c (skip_until_eol): If eol was found, increment line
2020-08-27 Nick Alcock <>
* objdump.c (dump_ctf_errs): Unquote CTF error messages.
* readelf.c (dump_ctf_errs): Likewise.
2020-08-27 Nick Alcock <>
* objdump.c (dump_ctf_archive_member): Move error-
(dump_ctf_errs): ... into this separate function.
(dump_ctf): Call it on open errors.
* readelf.c (dump_ctf_archive_member): Move error-
(dump_ctf_errs): ... into this separate function. Support
calls with NULL fp. Adjust for new err parameter to
(dump_section_as_ctf): Call it on open errors.
2020-08-27 Nick Alcock <>
* (readelf_LDADD): Move $(LIBINTL) after $(LIBCTF_NOBFD).
* Regenerated.
2020-08-26 Nick Clifton <>
PR 26405
* readelf.c (get_segment_type): Handle OpenBSD segment types.
2020-08-26 Alan Modra <>
PR 26412
* objcopy.c (copy_object): Don't fwrite NULL contents.
2020-08-26 Katayama Hirofumi <>
PR 26340
* rcparse.y (AUTOCHECKBOX): Add WS_TABSTOP to the base style.
2020-08-24 Alan Modra <>
* readelf.c (dump_section_as_strings) Avoid false positive
"may be used uninitialised".
2020-08-22 H.J. Lu <>
PR ld/26382
* nm.c (print_symname): Display only one '@' for undefined
versioned symbols.
* doc/binutils.texi: Update nm version information.
2020-08-21 Mark Wielaard <>
* testsuite/binutils-all/readelf.exp (readelf_wi_test): Also
recognize DW_LANG_C11.
2020-08-19 Alan Modra <>
PR 26349
* readelf.c (dump_relocations): Use BFD_VMA_FMT to print offset
and info fields.
(dump_section_as_strings): Don't use %tx to display offset.
2020-08-14 Alan Modra <>
PR 26388
* dwarf.c (free_debug_memory): Free alloc_num_debug_info_entries
of debug_information. Correct test of max_loc_offsets and
* rddbg.c (read_debugging_info): Free dhandle on error.
2020-08-14 Alan Modra <>
* testsuite/binutils-all/mangled.s: Use dc.a rather than dc.d.
2020-08-13 Alan Modra <>
PR 26348
* objcopy.c (copy_object): Report file name with endian error.
Error and return on abfd->read_only.
2020-08-12 Tom Tromey <>
* dwarf-mode.el (Version): Now 1.6.
(dwarf-die-button-action): Tighten DIE reference regexp.
(dwarf-font-lock-keywords): Update name regexp.
2020-08-12 Nick Clifton <>
PR binutils/26331
* readelf.c (do_demangle): New option flag.
(print_symbol): If do_demangle is enabled, demangle the symbol.
(enum long_option_values): New enum to hold long option values.
(options): Add demangle, no-demangle, recursion-limit and
no-recursion-limit options. Alpha sort the table.
(usage): Describe the new options.
(parse_args): Handle the new options.
* NEWS: Mention the new feature.
* doc/binutils.texi: Document the new feature.
* testsuite/binutils-all/readelf.exp: Test the new feature.
* testsuite/binutils-all/mangled.s: New file - assembler source.
* testsuite/binutils-all/readelf.demangled: New file - expected
output from readelf.
2020-08-12 Nick Clifton <>
* po/sr.po: Updated Serbian translation.
2020-08-10 H.J. Lu <>
PR binutils/26302
* nm.c (with_symbol_versions): Removed.
(long_option_values): Add OPTION_WITH_SYMBOL_VERSIONS.
(long_options): Update --with-symbol-versions entry.
(print_symbol): Remove the with_symbol_versions check.
(main): Add OPTION_WITH_SYMBOL_VERSIONS for backward
* doc/binutils.texi: Remove --with-symbol-versions.
2020-08-05 Alan Modra <>
PR 26337
* objdump.c (load_specific_debug_section): Revert last change.
2020-08-05 Alan Modra <>
PR 26337
* objdump.c (load_specific_debug_section): Don't malloc space for
section contents, use bfd_malloc_and_get_section.
2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
*, doc/ Regenerate.
* configure: Regenerate.
2020-07-30 H.J. Lu <>
* testsuite/binutils-all/i386/compressed-1a.d: Pass --gdwarf-3
to assembler.
* testsuite/binutils-all/i386/compressed-1b.d: Likewise.
* testsuite/binutils-all/i386/compressed-1c.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1a.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1b.d: Likewise.
* testsuite/binutils-all/x86-64/compressed-1c.d: Likewise.
2020-07-29 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/global-local-symtab-sort-o32.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-sort-o32t.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-sort-n32.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-sort-n32t.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-sort-n64.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-sort-n64t.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-final-o32.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-final-n32.d:
New test.
* testsuite/binutils-all/mips/global-local-symtab-final-n64.d:
New test.
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
2020-07-29 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/global-local-symtab-o32.d: New
* testsuite/binutils-all/mips/global-local-symtab-o32t.d: New
* testsuite/binutils-all/mips/global-local-symtab-n32.d: New
* testsuite/binutils-all/mips/global-local-symtab-n32t.d: New
* testsuite/binutils-all/mips/global-local-symtab-n64.d: New
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
2020-07-28 H.J. Lu <>
PR binutils/26301
* configure: Regenerated.
2020-07-28 H.J. Lu <>
PR binutils/26301
* configure: Regenerated.
2020-07-27 Alan Modra <>
* objdump.c (dump_section): Don't return without calling
2020-07-27 H.J. Lu <>
* doc/binutils.texi: Replace preceeded with preceded.
2020-07-26 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips.exp (run_dump_test_abi)
(run_dump_test_o32, run_dump_test_n32, run_dump_test_n64): New
(has_newabi): Remove variable.
(has_abi, abi_asflags, abi_ldflags): New associative array
(irixemul): New variable.
Replace `run_dump_test' calls where applicable throughout with
`run_dump_test_o32', `run_dump_test_n32' and `run_dump_test_n64'
as appropriate. Use `noarch' for tests that require their own
architecture setting.
* testsuite/binutils-all/mips/mips-ase-1.d: Remove GAS flags.
* testsuite/binutils-all/mips/mips-ase-2.d: Likewise.
* testsuite/binutils-all/mips/mips-ase-3.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2-n32.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2-n64.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2r-n32.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2r-n64.d: Likewise.
* testsuite/binutils-all/mips/mips-note-2r.d: Likewise.
* testsuite/binutils-all/mips/mips-reginfo-n32.d: Likewise.
* testsuite/binutils-all/mips/mips-reginfo.d: Likewise.
* testsuite/binutils-all/mips/mips16-extend-noinsn.d: Likewise.
* testsuite/binutils-all/mips/mips16-pcrel.d: Likewise.
* testsuite/binutils-all/mips/mips16-alias.d: Remove `-32' from
GAS flags.
* testsuite/binutils-all/mips/mips16-extend-insn.d: Likewise.
* testsuite/binutils-all/mips/mips16-noalias.d: Likewise.
* testsuite/binutils-all/mips/mips16-undecoded.d: Likewise.
* testsuite/binutils-all/mips/mips16e2-extend-insn.d: Likewise.
* testsuite/binutils-all/mips/mips16e2-undecoded.d: Likewise.
* testsuite/binutils-all/mips/mixed-micromips.d: Likewise.
* testsuite/binutils-all/mips/mixed-mips16.d: Likewise.
2020-07-24 Aaron Merey <>
* Rebuild.
* configure: Rebuild.
* doc/ Rebuild.
2020-07-24 Nick Clifton <>
* README-how-to-make-a-release: Various small updates whilst
creating the 2.35 release.
2020-07-22 Nick Alcock <>
* testsuite/lib/binutils-common.exp (run_dump_test): Add 'cc'
2020-07-22 Nick Alcock <>
* objdump.c (dump_ctf_archive_member): Remove linefeeds.
(dump_ctf): Likewise.
2020-07-22 Nick Alcock <>
* objdump.c (ctf_archive_member): Print CTF errors and warnings.
* readelf.c (dump_ctf_archive_member): Likewise.
2020-07-22 Nick Clifton <>
* readelf.c (parse_args): Silence potential warnings about a
memory resource leak when allocating space for ctf option values.
(dump_section_as_ctf): Fix typo checking dump_ctf_strtab_name
2020-07-21 Nick Clifton <>
* po/sv.po: Updated Swedish translation.
2020-07-14 Claudiu Zissulescu <>
* testsuite/binutils-all/arc/double_regs.s: New test.
* testsuite/binutils-all/arc/objdump.exp: Add the above test.
2020-07-13 Nick Clifton <>
* po/fr.po: Updated French translation.
2020-07-13 Alan Modra <>
* testsuite/lib/binutils-common.exp (is_pecoff_format): Accept
optional machine-os arg.
2020-07-11 H.J. Lu <>
* readelf.c (decode_x86_feature_2): Handle
2020-07-10 Tom de Vries <>
* dwarf.c (display_debug_lines_decoded): Don't emit meaningless
information in the end_sequence row.
* testsuite/binutils-all/dw5.W: Update.
* testsuite/binutils-all/objdump.WL: Update.
2020-07-09 Alan Modra <>
* dlltool.c: Remove powerpc PE support and comments.
* Remove powerpc PE dlltool config.
* configure: Regenerate.
2020-07-09 Nick Clifton <>
* rclex.c: Add OWNERDRAW keyword.
* rcparse.y: Add OWNERDRAW token.
(menuitem_flag) Add BITMAP and OWNERDRAW entries.
* resrc.c (write_rc_menuitems): Add support for OWNERDRAW and
BITMAP flags.
* windres.c (extended_menuitems): Likewise.
* testsuite/binutils-all/windres/menuitem_flags.rc: New test.
2020-07-09 Alan Modra <>
* readelf (slurp_hppa_unwind_table): Set table_len before use
in relocation sanity checks.
2020-07-07 Alan Modra <>
* testsuite/binutils-all/ar.exp: Use is_xcoff_format.
* testsuite/binutils-all/nm.exp: Likewise.
* testsuite/binutils-all/copy-2.d: Run only for elf and pe targets.
* testsuite/binutils-all/copy-3.d: Run only for elf targets.
* testsuite/binutils-all/set-section-alignment.d: Likewise.
* testsuite/binutils-all/copy-4.d: Don't run for xcoff.
2020-07-07 Alan Modra <>
* testsuite/lib/binutils-common.exp (is_xcoff_format): New.
* testsuite/binutils-all/objcopy.exp (pr25662): Exclude xcoff.
2020-07-06 Nick Clifton <>
* po/bg.po: Updated Bulgarian translation.
* po/pt.po: Updated Portuguese translation.
* po/uk.po: Updated Ukranian translation.
2020-07-06 Alan Modra <>
* readelf.c (print_dynamic_symbol): Don't sprintf to buffer to
find string length.
2020-07-04 Nick Clifton <>
* configure: Regenerate.
* po/binutils.pot: Regenerate.
2020-07-04 Nick Clifton <>
Binutils 2.35 branch created.
2020-07-02 Nick Clifton <>
PR 26028
* readelf.c (print_symbol): Handle truncation of symbol names.
(options): Add -T/--silent-truncation option.
(parse_args): Handle the option.
(print_dynamic_symbol): Correct calculation of width available to
display symbol name.
* doc/binutils.texi: Document the -T option to readelf.
* NEWS: Mention the new feature.
2020-06-30 H.J. Lu <>
* NEWS: Mention x86 NaCl target support removal.
* dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): Remove
x86 NaCl target support.
* testsuite/binutils-all/elfedit-1.d: Likewise.
* testsuite/binutils-all/i386/i386.exp: Likewise.
* testsuite/binutils-all/x86-64/objects.exp: Likewise.
* testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494b-x32.d: Likewise.
* testsuite/binutils-all/x86-64/pr23494b.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/x86-64.exp: Likewise.
2020-06-30 Nick Clifton <>
* dwarf.c (read_and_display_attr_value): Support
DW_FORM_GNU_strp_alt when used with DW_AT_dwo_name and
2020-06-30 Alan Modra <>
* testsuite/binutils-all/readelf.exp (readelf_dump_test): Remove
xfail for nds32.
2020-06-29 Hans-Peter Nilsson <>
* dwarf.c (display_debug_str_offsets): Rename local variable
index to idx. Move to top of function.
2020-06-29 Alan Modra <>
* dwarf.c: Use C style comments.
* resrc.c: Likewise.
2020-06-27 Alan Modra <>
* elfcomm.c (setup_nested_archive): Set nested_arch->file to NULL
after freeing.
(release_archive): Set fields of arch to NULL after freeing.
2020-06-26 Nick Alcock <>
* readelf.c (dump_section_as_ctf): Support .ctf archives using
ctf_arc_bufopen. Automatically load the .ctf member of such
archives as the parent of all other members, unless specifically
overridden via --ctf-parent. Split out dumping code into...
(dump_ctf_archive_member): ... here, as in objdump, and call
it once per archive member.
(dump_ctf_indent_lines): Code style fix.
2020-06-26 Nick Alcock <>
* [--enable-libctf]: New, default yes.
Set ENABLE_LIBCTF accordingly.
* configure: Regenerate.
* Regenerate.
* Regenerate.
* aclocal.m4: Regenerate.
* objdump.c (usage): Conditionalize portions on ENABLE_LIBCTF.
(option_values): Likewise.
(long_options): Likewise.
(main): Likewise.
(dump_ctf_indent_lines): Conditionalize out when !ENABLE_LIBCTF.
(make_ctfsect): Likewise.
(dump_ctf_archive_member): Likewise.
(dump_ctf) [ENABLE_LIBCTF]: Likewise.
(dump_ctf) [!ENABLE_LIBCTF]: New empty stub.
* readelf.c (options): Conditionalize portions on ENABLE_LIBCTF.
(usage): Likewise.
(process_section_contents): Likewise.
(shdr_to_ctf_sect): Conditionalize out when !ENABLE_LIBCTF.
(dump_ctf_indent_lines): Likewise.
(dump_section_as_ctf) [ENABLE_LIBCTF]: Likewise.
2020-06-26 Jan Beulich <>
* doc/binutils.texi: Adjust description of x86's -Msuffix. Drop
redundant text from x86 specific part of -M section.
2020-06-26 Pat Bernardi <>
* readelf.c (display_m68k_gnu_attribute): New function.
(process_arch_specific): Call display_m68k_gnu_attribute for EM_68K.
2020-06-23 H.J. Lu <>
PR binutils/26160
* testsuite/binutils-all/pr26160.dwp.bz2: New file.
* testsuite/binutils-all/pr26160.r: Likewise.
* testsuite/binutils-all/readelf.exp: Run PR binutils/26160 test.
2020-06-23 Nick Clifton <>
PR 26160
* dwarf.c (fetch_indexed_string): Detect and handle old style
.debug_str_offset tables.
(display_debug_str_offsets): Likewise. Also add support for
.debug_str_offsets.dwo sections.
2020-06-23 H.J. Lu <>
PR binutils/26112
* testsuite/binutils-all/pr26112.o.bz2: New file.
* testsuite/binutils-all/pr26112.r: Likewise.
* testsuite/binutils-all/readelf.exp: Run PR binutils/26112 test.
2020-06-23 Alan Modra <>
* testsuite/binutils-all/objdump.exp (bintest.a): Correct
remote_file delete command.
2020-06-22 Nick Clifton <>
PR 26112
* dwarf.c (display_debug_str_offsets): Add code to display the
contents of the .debug_str_offsets section.
(display_debug_macro): Add support for DW_MACRO_define_strx and
2020-06-22 Saagar Jha <>
* od-macho.c: Dump linkedit data for new load commands.
2020-06-19 Alan Modra <>
* testsuite/config/default.exp (ld_elf_shared_opt): Don't set.
* testsuite/lib/binutils-common.exp (check_relro_support): New proc.
(run_dump_test): Use check_relro_support to decide whether to pass
extra ld option "-z norelro".
2020-06-11 Alan Modra <>
* readelf.c (process_mips_specific): Don't alloc memory for
2020-06-11 Alan Modra <>
* readelf.c (process_mips_specific): Assert size of internal
types match size of external types, and simplify allocation of
internal buffer. Catch possible integer overflow when sanity
checking option size. Don't assume options are a regular array.
Sanity check reginfo option against option size. Use PRI macros
when printing.
2020-06-10 Ralf Habacker <>
PR 26082
* mclex.c (yylex): Reject lines that reach end-of-file without a
terminating newline character.
2020-06-08 Nick Clifton <>
PR 26093
* doc/binutils.texi (strings): Fix typo.
2020-06-08 Nick Clifton <>
PR 26086
* dwarf.c (process_debug_info): Check that there is space in the
debug_information array before filling in an entry.
2020-06-06 Alan Modra <>
* doc/binutils.texi (PowerPC -M option): Mention power10 and pwr10.
2020-06-05 Joel Anderson <>
PR 26082
* mclex.c (yylex): Add test for an empty input stream.
2020-06-04 Stephen Casner <>
* testsuite/binutils-all/pr25662-pdp11.s: Alternate source file
for test using section pseudo-ops compatible with pdp11.
* testsuite/binutils-all/objcopy.exp: Select alternate source.
2020-06-04 Jose E. Marchesi <>
* objdump.c (disassemble_data): Set disasm_info.endian_code to
disasm_info.endian after the latter is initialized to the
endianness reported by BFD.
2020-06-04 Alan Modra <>
* testsuite/binutils-all/i386/i386.exp: Remove global directive
outside proc body.
* testsuite/binutils-all/x86-64/objects.exp: Likewise.
* testsuite/binutils-all/x86-64/x86-64.exp: Likewise.
2020-06-03 Joel Anderson <>
* windmc.h (struct mc_node): Add id_typecast field.
* mcparse.y (message): Initialise the id_typecast field.
* windmc.c (write_dbg): Use the id_typecast field as a parameter
when calling write_dbg_define.
(write_header): Likewise.
2020-06-03 Alan Modra <>
PR 26069
* objcopy.c (copy_relocations_in_section): Free relpp on error.
Don't accidentally free isection->orelocation.
2020-06-02 Alan Modra <>
* testsuite/binutils-all/ar.exp (obj): Set up object file name
extension. Use throughout. Don't completely exclude non-ELF
alpha targets. Run long_filenames test for tic30. Exclude thin
archive tests for aix, ecoff and vms.
* estsuite/binutils-all/objdump.exp (obj): Set up object file name
extension. Use throughout. Don't exclude non-ELF alpha targets
from "bintest.a".
2020-05-28 Max Filippov <>
* MAINTAINERS (Xtensa): Add myself as maintainer.
2020-05-23 Alan Modra <>
* testsuite/binutils-all/ar.exp (many_files): New test.
2020-05-21 Alan Modra <>
* addr2line.c: Replace "if (x) free (x)" with "free (x)" throughout.
* dlltool.c: Likewise.
* elfcomm.c: Likewise.
* rddbg.c: Likewise.
* readelf.c: Likewise.
* stabs.c: Likewise.
* windmc.c: Likewise.
* windres.c: Likewise.
* wrstabs.c: Likewise.
2020-05-21 Alan Modra <>
* readelf.c (get_num_dynamic_syms): Bounds check mipsxlat array
2020-05-20 Nelson Chu <>
* dwarf.c: Updated since DECLARE_CSR is changed.
2020-05-19 H.J. Lu <>
PR binutils/25809
* readelf.c (process_program_headers): Warn if the PT_DYNAMIC
segment doesn't match the .dynamic section and checks are
(struct filedata): Add dynamic_symtab_section and
dynamic_strtab_section fields.
(process_section_headers): Set dynamic_symtab_section to the
.dynsym section. Set dynamic_strtab_section to the .dynstr
(process_dynamic_section): Warn if the .dynsym section doesn't
match DT_SYMTAB and DT_SYMENT or the .dynstr section doesn't
DT_STRTAB and DT_STRSZ. But only if checks are enabled.
2020-05-19 Alan Modra <>
* ar.c (map_over_members, get_pos_bfd, delete_members, move_members),
(replace_members): Use bfd_get_filename rather than accessing
bfd->filename directly.
* arsup.c (map_over_list, ar_delete, ar_replace, ar_extract): Likewise.
* binemul.c (do_ar_emul_append): Likewise.
* coffgrok.c (coff_grok): Likewise.
2020-05-18 Stafford Horne <>
* MAINTAINERS (OR1K): Add myself as maintainer.
2020-05-07 Andrew Burgess <>
* doc/binutils.texi: Mention 'entry address' in the set-start and
adjust-start options descriptions.
2020-05-05 Nick Clifton <>
* dwarf.c (do_checks): New global variable.
(display_formatted_table): Warn about an unexpected number of
columns in the table, if checks are enabled. Do not complain
about the lack of data following the number of entries in the
table if the table is empty.
(display_debug_lines_decoded): Only warn about an unexpected
number of columns in a table if checks are enabled.
* dwarf.h (do_checks): Add a prototype.
* elfcomm.c (error): Remove weak attribute.
(warn): Likewise.
* readelf.c (do_checks): Delete.
(warn): Delete.
(process_section_headers): Only warn about empty sections if
checks are enabled.
2020-05-04 Fangrui Song <>
* objcopy.c (copy_object): Allow empty section.
* testsuite/binutils-all/update-section.exp: Add test.
2020-05-04 Nick Clifton <>
PR 25917
* dwarf.c (display_debug_lines_decoded): Warn if encountering a
supicious number of entries for DWARF-5 format directory and file
name tables. Do not display file name table header if the table
is empty. Do not allocate space for empty tables.
2020-05-04 Alan Modra <>
* readelf.c (process_nds32_specific): Check size of .nds32_e_flags
section. Don't assume endian of host matches nds32 target. Free
2020-05-01 Alan Modra <>
Haim Shimonovich <>
* objdump.c (disassemble_bytes): Don't scan for zeros when
disassembling zeros. Translate "resuming at file offset" message.
Formatting. Replace some signed variables with unsigned.
2020-04-30 Alex Coplan <>
* testsuite/binutils-all/aarch64/in-order-all.d: Update to use new
* testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise.
2020-04-30 Nick Clifton <>
* testsuite/lib/binutils-common.exp (check_pie_support): New
2020-04-29 Andrew Burgess <>
* dwarf.c (display_debug_ranges): Ignore duplicate entries in
range_entries for the same offset.
2020-04-29 Nick Clifton <>
* readelf.c (warn): New function - like elfcomm.c version but only
produces output if warnings are enabled.
(struct options): Add --lint and --enable-checks.
(usage): Add entry for --lint.
(parse_args): Handle -L. If checks are enabled but no dumps have
been selected then enable all dumps.
(process_section_headers): Replace long if-then-else sequence with
a switch. Add warning messages for empty SHT_REL, SHT_RELA and
SHT_PROGBITS sections.
(process_file): Do not complain if the file is an archive and lint
mode has been enabled.
* elfcomm.c (error): Make the function weak.
(warn): Likewise.
* NEWS: Mention the new feature.
* doc/binutils.texi: Document the new feature.
* dwarf.h (report_leb_status): Add file name and line number
parameters. Include them in the diagnostic output.
(READ_ULEB): Pass file and line number to report_leb_status.
(READ_SLEB): Likewise.
* dwarf.c (read_and_print_leb128): Pass file and line number to
* testsuite/binutils-all/readelf.exp: Add test of new feature.
* testsuite/binutils-all/zero-sec.s: New test source file.
* testsuite/binutils-all/zero-sec.r: Expected output from new
2020-04-29 Nick Clifton <>
* po/sr.po: Updated Serbian translation.
2020-04-26 Alan Modra <>
* readelf.c (get_num_dynamic_syms): Check DT_MIPS_XHASH was
read before dereferencing, and gracefully return. Remove
gnu_hash_error variable. Free gnu hash arrays if number of
syms found is zero.
2020-04-24 Alan Modra <>
* readelf.c (get_num_dynamic_syms): Check for nbuckets and nchains
(process_dynamic_section): Call get_num_dynamic_syms once rather
than in segment loop. Break out of segment loop on a successful
load of dynamic symbols. Formatting.
(process_object): Return error status from process_dynamic_section.
2020-04-23 Anton Kolesov <>
* elf-bfd.h (elfcore_write_arc_v2): Add prototype.
* elf.c (elfcore_grok_arc_v2): New function.
(elfcore_grok_note): Call the new function to handle the corresponding
(elfcore_write_arc_v2): New function.
(elfcore_write_register_note): Call the new function to handle the
corresponding pseudo-sections.
2020-04-22 Max Filippov <>
PR ld/25861
* readelf.c (is_none_reloc): Recognize
2020-04-22 Nick Clifton <>
* MAINTAINERS: Remove Chris Faylor as the ix86 PE maintainer.
2020-04-22 Alan Modra <>
* readelf.c (archive_file_offset, archive_file_size, dynamic_addr),
(dynamic_size, dynamic_nent, dynamic_strings, dynamic_strings_length),
(num_dynamic_syms, nbuckets, nchains, buckets, chains),
(ngnubuckets, gnubuckets, gnuchains, mipsxlat, ngnuchains),
(gnusymidx, dynamic_symbols, dynamic_syminfo, dynamic_syminfo_offset),
(dynamic_syminfo_nent, program_interpreter, dynamic_info),
(dynamic_info_DT_GNU_HASH, dynamic_info_DT_MIPS_XHASH, version_info),
(dynamic_section, symtab_shndx_list, group_count, section_groups),
(section_headers_groups): Move to struct filedata. Update use
throughout file.
2020-04-22 Alan Modra <>
* readelf.c (struct dump_data): New, used..
(cmdline):, and..
(struct filedata): Adjust all uses.
(request_dump_bynumber, request_dump, parse_args): Pass in a
struct dump_data* rather than Filedata*. Adjust callers.
(main): Don't set cmdline.file_name.
2020-04-20 Alan Modra <>
* readelf.c (process_symbol_table): Clear ngnuchains, ngnubuckets
and nbuckets.
2020-04-20 Alan Modra <>
* readelf.c (process_section_headers): Free dynamic symbols etc.
2020-04-20 Alan Modra <>
* readelf.c (get_num_dynamic_syms): Formatting. Don't return
on error without freeing.
(process_dynamic_section): Don't recreate dynamic symbols from
dynamic tag info when the dynamic symbols have already been
read via section headers.
2020-04-17 Fredrik Strupe <>
* testsuite/binutils-all/arm/vdup-cond.d: New test for testing that
conditional VDUP instructions are disassembled correctly.
* testsuite/binutils-all/arm/vdup-cond.s: New file used by
* testsuite/binutils-all/arm/vdup-thumb.d: New test for testing
that VDUP instructions (which are conditional in A32) can be
disassembled in thumb mode.
* testsuite/binutils-all/arm/vdup-cond.s: New file used by
2020-04-17 Alan Modra <>
PR 25840
* debug.c (debug_class_type_samep): Don't segfault on NULL type.
2020-04-16 Alan Modra <>
* doc/binutils.texi: Mention --no-show-raw-insn in objdump
--no-addresses description.
2020-04-15 Alan Modra <>
* objdump.c (no_addresses): New static var.
(usage): Print help for --no-addresses.
(long_options): Add --no-addresses entry.
(objdump_print_addr_with_sym, objdump_print_addr): Omit symbol address.
(disassemble_bytes): Don't print current line address, or reloc
* doc/binutils.texi: Document objdump --no-addresses.
2020-04-15 Alan Modra <>
PR 25822
* readelf.c (get_num_dynamic_syms): Don't set num_of_syms when
reading buckets or chains fails.
2020-04-15 Alan Modra <>
* readelf.c (process_symbol_table): Zero gnubuckets, gnuchains
etc. after freeing.
2020-04-15 Alan Modra <>
* readelf.c (get_group_flags): Translate text.
(get_file_type, get_symbol_binding, get_symbol_type),
(get_ppc64_symbol_other, get_symbol_other): Increase size of buffer.
2020-04-15 Alan Modra <>
PR 25821
* readelf.c (get_num_dynamic_syms): Typo fix.
2020-04-14 Alan Modra <>
* readelf.c (process_mips_specific): Free eopt and iopt. Avoid
possibility of overflow when checking number of conflicts.
2020-04-14 H.J. Lu <>
PR binutils/25707
* readelf.c (nbuckets): New.
(nchains): Likewise.
(buckets): Likewise.
(chains): Likewise.
(ngnubuckets): Likewise.
(gnubuckets): Likewise.
(gnuchains): Likewise.
(mipsxlat): Likewise.
(ngnuchains): Likewise.
(gnusymidx): Likewise.
(get_dynamic_data): Moved before process_dynamic_section.
(get_num_dynamic_syms): New function.
(process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
table. Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
(get_symbol_index_type): Don't print "bad section index" when
there is no section header.
(print_dynamic_symbol): Rewrite.
(process_symbol_table): Call print_dynamic_symbol to dump dynamic
symbol table.
2020-04-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* testsuite/lib/binutils-common.exp (supports_gnu_osabi): Don't
enable on *-*-solaris*.
2020-03-30 Nick Clifton <>
PR binutils/25662
* objcopy.c (copy_object): When copying PE format files set the
timestamp field in the pe_data structure if the preserve_dates
flag is set.
* testsuite/binutils-all/objcopy.exp (objcopy_test) Use
--preserve-dates in place of the -p option, in order to make its
effect more obvious.
2020-03-28 Alan Modra <>
* testsuite/binutils-all/objcopy.exp (objcopy_test): Only
clear_xfail hppa*-*-*elf*. Revert mips xfails.
2020-03-28 Alan Modra <>
* testsuite/binutils-all/objcopy.exp (objcopy_test): Move xfails
from here to calls. Remove "m8*-*-*" entry. Don't xfail tic54x
but do xfail spu, mipstx39 and mips-sgi-irix for the executable
test. Pass "-p" to objcopy for the executable test.
2020-03-27 Jozef Lawrynowicz <>
PR binutils/25662
* testsuite/binutils-all/objcopy.exp (objcopy_test): Add argument to
specify whether an object file or executable should be built and tested.
Change test names to report whether an object file or executable is
being tested.
* testsuite/binutils-all/pr25662.ld: New test.
* testsuite/binutils-all/pr25662.s: New test.
2020-03-27 Alan Modra <>
* readelf.c (process_archive): Don't double free qualified_name.
Don't break out of loop with "negative" archive_file_size, just
set file offset to max.
2020-03-25 Alan Modra <>
* readelf.c (process_archive): Prevent endless loop.
2020-03-24 H.J. Lu <>
PR binutils/25708
* nm.c (print_symname): Replace _bfd_elf_get_symbol_version_name
with bfd_get_symbol_version_string.
(print_symbo): Pass TRUE to bfd_get_symbol_version_string.
* objdump.c (objdump_print_symname): Likewise.
2020-03-24 H.J. Lu <>
PR binutils/25708
* nm.c (SYM_NAME): Removed.
(print_symname): Add a pointer to struct extended_symbol_info
argument. Call _bfd_elf_get_symbol_version_name to get symbol
(print_symdef_entry): Pass NULL to print_symname.
(print_symbol_info_bsd): Update call to print_symname.
(print_symbol_info_sysv): Likewise.
(print_symbol_info_posix): Likewise.
2020-03-24 Alan Modra <>
* readelf.c (process_mips_specific): Free iconf on error path.
2020-03-23 Nick Clifton <>
PR 25714
* wrstabs.c (stab_pop_type): Replace assertion with error return.
* write_stabs_in_sections_debugging_info: Likewise.
* stab_enum_type: Likewise.
* stab_modify_type: Likewise.
* stab_struct_field: Likewise.
* stab_end_struct_type: Likewise.
* stab_start_class_type: Likewise.
* stab_class_static_member: Likewise.
* stab_class_baseclass: Likewise.
* stab_class_start_method: Likewise.
* stab_class_method_var: Likewise.
* stab_class_end_method: Likewise.
* stab_end_class_type: Likewise.
* stab_typedef_type: Likewise.
* stab_start_function: Likewise.
* stab_end_block: Likewise.
* stab_lineno: Likewise.
2020-03-20 Nick Clifton <>
* readelf.c (get_compression_header): Add ATTRIBUTE_WARN_UNUSED_RESULT.
(process_section_headers): Check the return value from
(dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
(load_specific_debug_section): Likewise.
2020-03-20 H.J. Lu <>
* ar.c (main): Update bfd_plugin_set_program_name call.
* nm.c (main): Likewise.
2020-03-19 Nick Clifton <>
PR 25676
* testsuite/binutils-all/dw4.s: New test source file.
* testsuite/binutils-all/nm.exp: Run the new test.
2020-03-19 H.J. Lu <>
* readelf.c (process_symbol_table): Use unsigned long for si.
2020-03-19 Alan Modra <>
* elfcomm.c: Don't include bfd.h or bucomm.h.
(program_name): Declare.
(process_archive_index_and_symbols): Replace bfd_boolean with int,
and substitute FALSE and TRUE.
(setup_archive, setup_nested_archive): Likewise.
* elfcomm.h: Likewise.
2020-03-19 Alan Modra <>
* readelf.c (process_archive): Always return via path freeing
memory. Formatting.
2020-03-19 Alan Modra <>
* readelf.c (process_netbsd_elf_note): Validate descsz before
accessing descdata. Formatting.
2020-03-19 Alan Modra <>
* elfcomm.c (setup_archive): Make file_size an off_t. Comment.
* elfcomm.h (setup_archive): Update prototype.
2020-03-16 Alan Modra <>
* readelf.c (get_symbols): New function.
(process_relocs, ia64_process_unwind, hppa_process_unwind),
(arm_process_unwind, get_symbol_for_build_attribute): Use it.
2020-03-16 Alan Modra <>
* unwind-ia64.c (unw_decode_uleb128): Prevent overlarge shifts.
Detect shift overflows and check that terminating byte is found.
Print an error on a bad uleb128.
2020-03-14 Alan Modra <>
* readelf.c (process_file): Clean ba_cache.
2020-03-14 Alan Modra <>
* elfcomm.h (setup_archive): Update prototype.
* elfcomm.c (setup_archive): Add file_size parameter and sanity
check longnames_size.
(setup_nested_archive): Get file size and pass to setup_archive.
* elfedit.c (process_archive): Likewise.
* readelf.c (process_archive): Pass filedata->file_size to
2020-03-14 Alan Modra <>
* readelf.c (dump_section_as_strings): Free memory on error exit.
(dump_section_as_bytes, process_notes_at): Likewise.
(get_build_id): Free enote.
2020-03-13 Kamil Rytarowski <>
* readelf.c (get_netbsd_elfcore_note_type): Add support for
2020-03-13 Alan Modra <>
* elfcomm.c (get_archive_member_name): Always return malloc'd
string or NULL.
* elfedit.c (process_archive): Tidy memory on all return paths.
* readelf.c (process_archive): Likewise.
(process_symbol_table): Likewise.
(ba_cache): New, replacing ..
(get_symbol_for_build_attribute): ..static vars here. Free
strtab and symtab before loading new ones. Reject symtab without
valid strtab in loop, breaking out of loop on valid symtab.
(process_file): Free ba_cache symtab and strtab here, resetting
2020-03-12 Alan Modra <>
* readelf.c (process_section_headers): Don't just set
filedata->section_headers NULL, free it first. Similarly for
dynamic_symbols, dynamic_strings, dynamic_syminfo and
symtab_shndx_list. Zero associated counts too.
(process_object): Free symtab_shndx_list.
(process_file): Free various allocated filedata tables.
2020-03-11 Nick Clifton <>
PR 25611
PR 25614
* dwarf.h (DWARF2_Internal_LineInfo): Add li_address_size and
li_segment_size fields.
* dwarf.c (read_debug_line_header): Record the address size and
segment selector size values (if present) in the lineinfo
(display_formatted_table): Warn if the format count is empty but
the table itself is not empty.
Display the format count and entry count at the start of the table
(display_debug_lines_raw): Display the address size and segement
selector size fields, if present.
* testsuite/binutils-all/dw5.W: Update expected output.
2020-03-11 Alan Modra <>
PR 25651
* objcopy.c (copy_object): Test "gaps" not gap_fill_set or
pad_to_set on second block of code dealing with padding.
Replace "c" with "num_sec" and don't recalculate number of
sections on second block. Size arrays using sizeof (element)
rather than sizeof (element type).
2020-03-10 Alan Modra <>
* objdump.c (disassemble_section): Don't call qsort unless
sym count is at least two.
(disassemble_data): Don't call memcpy with NULL src.
2020-03-09 Alan Modra <>
PR 25645
* readelf.c (dump_ia64_vms_dynamic_fixups): Pass size and nmemb
to get_data rather than multiplying.
(dump_ia64_vms_dynamic_relocs): Likewise.
(process_version_sections): Correct order of size and nmemb args
in get_data call.
(process_mips_specific): Likewise.
2020-03-08 H.J. Lu <>
* readelf.c (get_dynamic_data): Replace "memory chekers" with
"memory checkers" in comments.
2020-03-06 Simon Marchi <>
PR 25491
* doc/ Re-generate.
2020-03-06 Nick Clifton <>
* objcopy.c (check_new_section_flags): New function. Reject the
SEC_COFF_SHARED flag if the target is not a COFF binary.
(copy_object): Call check_new_section_flags.
(setup_section): Likewise.
* doc/binutils.texi (objcopy): Add a note that the 'share' section
flag cannot be applied to ELF binaries.
2020-03-06 Alan Modra <>
PR 25637
* objcopy.c (filter_symbols): Correct rem_leading_char logic.
2020-03-05 Alan Modra <>
PR 25629
* objcopy.c (filter_symbols): Don't segfault on NULL
2020-03-04 Christian Eggers <>
* objcopy.c (copy_object): Convert from bytes to octets for
--gap-fill and --pad-to.
2020-03-03 Nick Clifton <>
PR 25625
* prdbg.c (pr_tag_type): Remove call to abort.
2020-03-02 Aaron Merey <>
* binutils/testsuite/binutils-all/debuginfod.exp: Improve port
2020-03-02 Nick Clifton <>
PR 25543
* readelf.c (dump_section_as_strings): Display new-line characters
as \n and then insert a line break.
* testsuite/binutils-all/pr25543.s: New test.
* testsuite/binutils-all/pr25543.d: Test driver.
* testsuite/binutils-all/readelf.exp: Run the new test.
2020-02-27 Nick Clifton <>
PR 25526
* readelf.c (process_ia64_vms_dynamic_relocs): Check to see if
get_data is unable to load the string table.
2020-02-26 Alan Modra <>
* elfedit.c: Indent labels correctly.
* readelf.c: Likewise.
* resres.c: Likewise.
2020-02-25 H.J. Lu <>
PR binutils/25584
* ar.c (main): Pass 0 to bfd_plugin_set_program_name.
* nm.c (main): Pass 1 to bfd_plugin_set_program_name.
2020-02-24 Nick Clifton <>
PR 25499
* doc/binutils.texi (objdump): Fix typo in description of
objdump's -g option.
2020-02-20 Nelson Chu <>
* dwarf.c (regname_internal_riscv): Updated since the DECLARE_CSR
is changed.
2020-02-19 Jordan Rupprecht <>
* objdump.c (show_line): call bfd_demangle when using do_demangle.
2020-02-19 Andrew Burgess <>
* configure: Regenerate.
2020-02-10 Fangrui Song <>
* objcopy.c (parse_flags): Handle "exclude".
* doc/binutils.texi: Document the support.
2020-02-10 Aaron Merey <>
* binutils/testsuite/binutils-all/debuginfod.exp:
Replace set ::env with setenv.
Start server before setting environment variable.
Specify tmpdir as the location of the server's
Check additional server metrics at start-up.
2020-02-07 Nick Clifton <>
* README-how-to-make-a-release: Add note about updating the
GAS/NEWS URL in the next release.
2020-02-07 Sergey Belyashov <>
PR 25469
* readelf.c (get_machine_flags): Add support for Z80N machine
2020-02-07 Nick Clifton <>
* dwarf.c (display_debug_lines_decoded): Force a NUL termination
of the truncated file name.
2020-02-06 Andrew Burgess <>
* objdump.c (print_jump_visualisation): New function.
(disassemble_bytes): Call new function.
2020-02-06 Alan Modra <>
* testsuite/lib/binutils-common.exp (match_target): Accept '!' before
TCL procedure.
(supports_gnu_osabi): New procedure.
(is_generic): New, from ld-lib.exp.
(supports_gnu_unique): Use the above.
2020-02-04 Alan Modra <>
* (CFILES): Add od-elf32_avr.c.
* Regenerate.
* po/ Regenerate.
2020-02-03 Andreas Schwab <>
* readelf.c (dump_relocations, dump_relocations)
(decode_arm_unwind_bytecode, process_dynamic_section)
(get_symbol_visibility, get_alpha_symbol_other): Add newline to
error message.
2020-02-03 Sergei Trofimovich <>
* coffdump.c (program_name): Drop redundant definition.
* srconv.c (program_name): Likewise
* sysdump.c (program_name): Likewise
2020-02-02 H.J. Lu <>
PR gas/25380
* objdump.c (sym_ok): Return FALSE if 2 sections are in the
same file with different section pointers.
2020-02-01 Nick Clifton <>
* README-how-to-make-a-release: Update with more details on the
release making process.
2020-01-31 Nick Clifton <>
* po/sv.po: Updated Swedish translation.
2020-01-28 Nick Clifton <>
* readelf.c (get_build_id): Simplify warning message about corrupt
notes encountered whilst scanning for the build-id.
2020-01-27 Roland McGrath <>
* objcopy.c (compare_gnu_build_notes): Fix comparison results
for overlapping ranges so that (A == B) == (B == A) holds.
2020-01-27 Alan Modra <>
* testsuite/lib/binutils-common.exp (big_or_little_endian): Replace
case statement with switch statement.
2020-01-24 Nick Clifton <>
* readelf.c (get_build_id): Fix warning messages about corrupt
2020-01-23 Nick Clifton <>
* po/fr.po: Updated French translation.
2020-01-22 Yuri Chornoivan <>
PR 25417
* readelf.c (get_alpha_symbol_other): Fix error message typo.
2020-01-20 Nick Clifton <>
* po/pt.po: Updated Portuguese translation.
* po/uk.po: Updated Ukranian translation.
2020-01-18 Nick Clifton <>
* README-how-to-make-a-release: Update notes on how to cut a
branch for a release.
2020-01-18 Nick Clifton <>
* configure: Regenerate.
* po/binutils.pot: Regenerate.
2020-01-18 Nick Clifton <>
Binutils 2.34 branch created.
2020-01-17 Thomas Troeger <>
* objdump.c (jump_info_visualize_address): Discard jumps that are
no longer needed.
(disassemble_bytes): Only compute the maximum level if jumps were
2020-01-13 Nick Clifton <>
* objdump.c (disassemble_bytes): Remove C99-ism.
* testsuite/binutils-all/debuginfod.exp: New tests.
2020-01-13 Thomas Troeger <>
* objdump.c (visualize_jumps, color_output, extended_color_output)
(detected_jumps): New variables.
(usage): Add the new jump visualization options.
(option_values): Add new option value.
(long_options): Add the new option.
(jump_info_new, jump_info_free): New functions.
(jump_info_min_address, jump_info_max_address): Likewise.
(jump_info_end_address, jump_info_is_start_address): Likewise.
(jump_info_is_end_address, jump_info_size): Likewise.
(jump_info_unlink, jump_info_insert): Likewise.
(jump_info_add_front, jump_info_move_linked): Likewise.
(jump_info_intersect, jump_info_merge): Likewise.
(jump_info_sort, jump_info_visualize_address): Likewise.
(disassemble_jumps): New function - used to locate jumps.
(disassemble_bytes): Add ascii art generation.
(disassemble_section): Add scan to locate jumps.
(main): Parse the new visualization option.
* doc/binutils.texi: Document the new feature.
* NEWS: Mention the new feature.
2020-01-13 Alan Modra <>
PR 25360
PR 25361
* dwarf.c (display_debug_frames): Move fde_fc earlier. Free
fde_fc col_type and col_offset.
* readelf.c (apply_relocations): Move symsec check earlier.
(free_debug_section): Free reloc_info.
(process_notes_at): Free pnotes on error path.
(process_object): Free dump_sects here..
(process_archive): ..not here.
2020-01-13 Alan Modra <>
PR 25362
* nm.c (display_rel_file): Free dyn_syms.
2020-01-09 Nick Clifton <>
PR 25220
* objcopy.c (empty_name): New variable.
(need_sym_before): Prevent an attempt to free a static variable.
(filter_symbols): Avoid strcmp test by checking for pointer
2020-01-09 Nick Clifton <>
* po/zh_TW.po: Updated Traditional Chinese translation.
2020-01-09 Aaron Merey <>
* (readelf_LDADD, objdump_LDADD): Add libdebuginfod.
* Regenerate.
* NEWS: Update.
* Regenerate.
* configure: Regenerate.
* doc/ Regenerate.
* doc/binutils.texi: Add section on using binutils
with debuginfod.
* dwarf.c (debuginfod_fetch_separate_debug_info): New function.
Query debuginfod servers for the target debug file.
(load_separate_debug_info): Call
debuginfod_fetch_separate_debug_info if configured with
(load_separate_debug_files): Add file argument to
load_separate_debug_info calls.
* dwarf.h (get_build_id): Add declaration.
* objdump.c (get_build_id): New function. Get build-id of file.
* readelf.c (get_build_id): Likewise.
* testsuite/binutils-all/debuginfod.exp: New tests.
* testsuite/binutils-all/linkdebug.s: Add
2020-01-02 Sergey Belyashov <>
* readelf.c: Add support for new Z*) relocations and machine
2020-01-01 Alan Modra <>
Update year range in copyright notice of all files.
For older changes see ChangeLog-2019
Copyright (C) 2020 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never