blob: 01a15e3bef16b692821a9a4839993e7129366a63 [file] [log] [blame]
2017-12-19 Nick Clifton <>
PR 22587
* readelf.c (process_section_headers): Do not complain about an
sh_info field of 0 in relocation sections of ET_EXEC or ET_DYN
type executables.
2017-12-19 Alan Modra <>
* testsuite/binutils-all/ar.exp (unique_symbol): Don't run AR
if assembly fails.
* testsuite/binutils-all/arc/objdump.exp (check_assembly): If
objfile is empty, fail test.
* testsuite/binutils-all/arm/objdump.exp: Don't return if assembly
fails for a test, continue on to other tests.
* testsuite/binutils-all/bfin/objdump.exp: Likewise.
* testsuite/binutils-all/hppa/objdump.exp: Likewise.
* testsuite/binutils-all/m68k/objdump.exp: Likewise.
* testsuite/binutils-all/vax/objdump.exp: Likewise.
* testsuite/binutils-all/size.exp: Likewise.
* testsuite/binutils-all/nm.exp: Likewise. Move PR12753 test.
* testsuite/binutils-all/objcopy.exp: Don't perror on assembly fail.
* testsuite/binutils-all/objdump.exp: Report assembly fails.
2017-12-18 Nick Clifton <>
PR 22532
* dwarf.c (read_and_display_attr_value): Add attributes that might
use the DW_FORM_exprloc form, and if so, display the decoded
location expression list.
2017-12-14 Alan Modra <>
* testsuite/lib/utils-lib.exp (default_binutils_assemble_flags):
Don't perror on assembler diagnostic output.
* testsuite/binutils-all/nm.exp: Run unique symbol test on all
ELF targets. Resolve as "unsupported" on assembly failure.
2017-12-11 Renlin Li <>
* testsuite/binutils-all/aarch64/objdump.d: New.
* testsuite/binutils-all/aarch64/objdump.s: New.
2017-12-08 Nick Clifton <>
* objcopy.c (copy_relocations_in_section): Use the orelocations
field of the input section, if it has been initialised.
* testsuite/binutils-all/note-2-64.d: Skip test on Sparc64.
2017-12-06 Jim Wilson <>
PR 22465
* objcopy.c (copy_section): New local extra. If isection->lma not
exactly divisible by interleave, then bias from. Also adjust
osection->lma if necessary.
2017-12-06 Alan Modra <>
PR 22552
* readelf.c (process_file_header): Don't assume XINDEX case
value for e_shstrndx is within bounds.
(load_debug_section): Sanity test e_shstrndx before attempting
to read .shstrtab. Wrap long lines.
2017-12-01 Oleksandr Pikozh <>
* doc/binutils.texi: Add --strip-unneeded to objcopy synopsis.
2017-11-30 Nick Clifton <>
PR 22510
* readelf.c (load_debug_section): Fail if there are no section
headers available.
2017-11-29 Nick Clifton <>
PR 22508
* objdump.c (dump_relocs_in_section): Also check the section's
relocation count to make sure that it is reasonable before
attempting to allocate space for the relocs.
2017-11-29 Stefan Stroe <>
* po/Make-in (datadir): Define as @datadir@.
(localedir): Define as @localedir@.
(gnulocaledir, gettextsrcdir): Use @datarootdir@.
2017-11-28 H.J. Lu <>
PR binutils/22490
* readelf.c (process_notes_at): Add an argument for note
alignment. If note alignment is less than 4, use 4 byte
alignment. Otherwise, skip notes if alignment isn't 4 nor
8 bytes.
(process_corefile_note_segments): Pass segment alignment to
(process_note_sections): Pass section alignment to
(process_object): Call load_separate_debug_file only if
e_shstrndx != SHN_UNDEF.
2017-11-27 Nick Clifton <>
PR 22490
* readelf.c (dump_section_as_bytes): Check for a NULL string
section pointer.
(process_notes_at): Compute the alignment to use if displaying
notes from a segment.
2017-11-26 H.J. Lu <>
* dwarf.c (load_separate_debug_info): Rename argument name from
link to xlink.
2017-11-24 H.J. Lu <>
PR binutils/22444
* readelf.c (process_notes_at): Use ELF_NOTE_DESC_OFFSET to get
the offset of the note descriptor. Use ELF_NOTE_NEXT_OFFSET to
get the offset of the next note entry.
2017-11-23 Pavel I. Kryukov <>
PR 22485
* readelf.c (process_archive): Use memset to initiaise
thin_filedata structure.
2017-11-21 H.J. Lu <>
PR binutils/22451
* testsuite/binutils-all/x86-64/objects.exp: New file.
* testsuite/binutils-all/x86-64/pr22451.o.bz2: Likewise.
2017-11-21 Claudiu Zissulescu <>
* testsuite/binutils-all/arc/objdump.exp: Update pattern matching
2017-11-21 Nick Clifton <>
* dwarf.c (dwo_name, dwo_dir, dwo_id, dwo_id_len): New variables.
(read_and_display_attr_value): Record dwo variables if requested.
(display_augmentation_data): Rename to display_data and make
(load_dwo_file): New function. Loads a separate dwarf object
(load_separate_debug_file): Add reporting and loading of separate
dwarf objet files.
* readelf.c (process_section_headers): Add do_debug_links to list
of flags requiring a debug dump.
(display_debug_section): Tidy up code.
* doc/debug.options.texi: Add note that dwo links will also be
* testsuite/binutils-all/debuglink.s: Tidy code.
* testsuite/binutils-all/dwo.s: New test file.
* testsuite/binutils-all/readelf.wk2: New file - expected output
from readelf.
* testsuite/binutils-all/readelf.exp: Run the new test.
2017-11-18 Alan Modra <>
PR 22443
* nm.c (sort_symbols_by_size): Don't attempt to access
section symbol internal_elf_sym.
(print_symbol): Likewise. Don't call bfd_get_symbol_version_string
for section symbols.
* objdump.c (compare_symbols): Don't attempt to access
section symbol internal_elf_sym.
(objdump_print_symname): Don't call bfd_get_symbol_version_string
for section symbols.
2017-11-17 Jim Wilson <>
* readelf.c (elf/riscv.h): Alphabetize include.
(is_32bit_inplace_add_reloc, is_32bit_inplace_sub_reloc)
(is_64bit_inplace_add_reloc, is_64bit_inplace_sub_reloc)
(is_16bit_inplace_add_reloc, is_16bit_inplace_sub_reloc)
(is_8bit_inplace_add_reloc, is_8bit_inplace_sub_reloc): New.
(apply_relocations): New locals reloc_inplace and reloc_subtract.
Call the new functions and set the new locals. Call byte_get if
reloc_inplace. Subtract sym->st_value if reloc_subtract.
2017-11-17 Nick Clifton <>
PR 22449
* ar.c (write_archive): Free the temporary file name.
2017-11-17 Nick Clifton <>
* readelf.c (process_archive): Include member name in the
file_name of the filedata structure.
2017-11-15 Alan Modra <>
PR 22426
* objcopy.c (copy_main): Free tmpname.
2017-11-15 Nick Clifton <>
PR 15152
* dwarf.h (enum dwarf_section_display_enum): Add gnu_debuglink,
gnu_debugaltlink and separate_debug_str.
(struct dwarf_section): Add filename field.
Add prototypes for load_separate_debug_file, close_debug_file and
* dwarf.c (do_debug_links): New.
(do_follow_links): New.
(separate_debug_file, separate_debug_filename): New.
(fetch_alt_indirect_string): New function. Retrieves a string
from the debug string table in the separate debug info file.
(read_and_display_attr_value): Use it with DW_FORM_GNU_strp_alt.
(load_debug_section_with_follow): New function. Like
load_debug_section, but if the first attempt fails, then tries
again in the separate debug info file.
(introduce): New function.
(process_debug_info): Use load_debug_section_with_follow and
(load_debug_info): Likewise.
(display_debug_lines_raw): Likewise.
(display_debug_lines_decoded): Likewise.
(display_debug_macinfo): Likewise.
(display_debug_macro): Likewise.
(display_debug_abbrev): Likewise.
(display_debug_loc): Likewise.
(display_debug_str): Likewise.
(display_debug_aranges): Likewise.
(display_debug_addr); Likewise.
(display_debug_frames): Likewise.
(display_gdb_index): Likewise.
(process_cu_tu_index): Likewise.
(load_cu_tu_indexes): Likewise.
(display_debug_links): New function. Displays the contents of a
.gnu_debuglink or .gnu_debugaltlink section.
(calc_gnu_debuglink_ctc32):New function. Calculates a CRC32
(check_gnu_debuglink): New function. Checks the CRC of a
potential separate debug info file.
(parse_gnu_debuglink): New function. Reads a CRC value out of a
.gnu_debuglink section.
(check_gnu_debugaltlink): New function.
(parse_gnu_debugaltlink): New function. Reads the build-id value
out of a .gnu_debugaltlink section.
(load_separate_debug_info): New function. Finds and loads a
separate debug info file.
(load_separate_debug_file): New function. Attempts to find and
follow a link to a separate debug info file.
(free_debug_memory): Free the separate debug info file
(opts_table): Add "follow-links" and "links".
(dwarf_select_sections_by_letters): Add "k" and "K".
(debug_displays): Reformat. Add .gnu-debuglink and
Add an extra entry for .debug_str in a separate debug info file.
* doc/binutils.texi: Move description of debug dump features
common to both readelf and objdump into...
* objdump.c (usage): Add -Wk and -WK.
(load_specific_debug_section): Initialise the filename field in
the dwarf_section structure.
(close_debug_file): New function.
(open_debug_file): New function.
(dump_dwarf): Load and dump the separate debug info sections.
* readelf.c (struct filedata): New structure. Contains various
variables that used to be global:
(current_file_size, string_table, string_table_length, elf_header)
(section_headers, program_headers, dump_sects, num_dump_sects):
Move into filedata structure.
(cmdline): New global variable. Contains list of sections to dump
by number, as specified on the command line.
Add filedata parameter to most functions.
(load_debug_section): Load the string table if it has not already
been retrieved.
(close_file): New function.
(close_debug_file): New function.
(open_file): New function.
(open_debug_file): New function.
(process_object): Process sections in any separate debug info files.
* doc/debug.options.texi: New file. Add description of =links and
=follow-links options.
* NEWS: Mention the new feature.
* elfcomm.c: Have the byte get functions take a const pointer.
* elfcomm.h: Update prototypes.
* testsuite/binutils-all/dw5.W: Update expected output.
* testsuite/binutils-all/objdump.WL: Update expected output.
* testsuite/binutils-all/objdump.exp: Add test of -WK and -Wk.
* testsuite/binutils-all/readelf.exp: Add test of -wK and -wk.
* testsuite/binutils-all/readelf.k: New file.
* testsuite/binutils-all/objdump.Wk: New file.
* testsuite/binutils-all/objdump.WK2: New file.
* testsuite/binutils-all/linkdebug.s: New file.
* testsuite/binutils-all/debuglink.s: New file.
2017-11-10 Jim Wilson <>
* testsuite/binutils-all/objdump.exp: Expect the debug_ranges test to
2017-11-07 Jim Wilson <>
* MAINTAINERS (RISC-V): Fix typo in my email address.
2017-11-07 Palmer Dabbelt <>
* MAINTAINERS (RISC-V): Add Jim Wilson as a maintainer.
Clean up Andrew's entry (remove trailing space, add tabs).
Change Palmer's email address, and clean up entry (add tabs).
2017-11-07 Alan Modra <>
* dwarf.c (read_uleb128): Properly pluralize messages.
(display_debug_lines_raw, display_debug_loc): Likewise.
(display_debug_names, process_cu_tu_index): Likewise.
* od-macho.c (dump_code_signature_superblob): Likewise.
* readelf.c (process_program_headers): Likewise.
(process_section_header, process_relocs): Likewise.
(hppa_process_unwind, arm_process_unwind): Likewise.
(process_dynamic_section, process_version_sections): Likewise.
(process_symbol_table, process_syminfo): Likewise.
(apply_relocations, process_mips_specific): Likewise.
(process_gnu_liblist, process_notes_at): Likewise.
(process_archive): Likewise.
* testsuite/binutils-all/dw2-1.W,
* testsuite/binutils-all/dw2-3.W,
* testsuite/binutils-all/dw2-3gabi.W,
* testsuite/binutils-all/dw5.S,
* testsuite/binutils-all/dw5.W,
* testsuite/binutils-all/i386/compressed-1a.d,
* testsuite/binutils-all/libdw2-compressedgabi.out,
* testsuite/binutils-all/objdump.W,
* testsuite/binutils-all/readelf.r,
* testsuite/binutils-all/readelf.r-64,
* testsuite/binutils-all/x86-64/compressed-1a.d: Update
for pluralization fixes.
2017-11-07 Alan Modra <>
* sysdep.h (textdomain, bindtextdomain): Use safer "do nothing".
(ngettext, dngettext, dcngettext): Define when !ENABLE_NLS.
2017-11-03 Claudiu Zissulescu <>
* doc/binutils.texi (ARC): Update disassembler options.
* testsuite/binutils-all/arc/hexprint.s: New file.
* testsuite/binutils-all/arc/objdump.exp: Test hex printing
2017-11-03 Mingi Cho <>
Nick Clifton <>
PR 22386
* dwarf.c (read_cie): Use bfd_size_type for
(display_augmentation_data): New function.
(display_debug_frames): Use it.
Check for integer overflow when testing augmentation_data_len.
2017-11-02 Mingi Cho <>
PR 22384
* readelf.c (print_gnu_property_note): Improve overflow checks so
that they will work on a 32-bit host.
2017-11-01 James Bowman <>
* readelf.c (is_16bit_abs_reloc): Add entry for FT32.
2017-10-31 Nick Clifton <>
* readelf.c (process_relocs): Tell users if no static relocs were
found, but if they had added --use-dynamic to the command line
then relocs would have been displayed.
2017-10-28 Alan Modra <>
PR 22361
* readelf.c (process_archive_index_and_symbols): Ensure ar_size
field is zero terminated for strtoul.
(setup_archive, get_archive_member_name): Likewise.
2017-10-27 Simon Marchi <>
* dwarf.c (struct Frame_Chunk) <cfa_reg>: Change type to
unsigned int.
(display_debug_frames): Read CFA reg as an unsigned number.
2017-10-25 Alan Modra <>
* nm.c (filter_symbols): Match "__gnu_lto_slim" optionally prefixed
with "_".
2017-10-18 Eric Botcazou <>
* MAINTAINERS: Add myself as Visium maintainer.
2017-10-18 Nick Clifton <>
* README-how-to-make-a-release: A note about checking file and
directory permissions.
* MAINTAINERS: Move Svein Seldal to Past Maintainers section.
2017-10-18 Alan Modra <>
PR 22303
* readelf.c (print_core_note): Ensure "count" sanity check
calculation doesn't overflow.
(process_notes_at): Perform note namesz and descsz checks
using unsigned comparisons against data remaining. Catch
alignment overflow of namesz and descsz too. Don't allocate a
temp for terminating "name" when there is space available
before descdata.
2017-10-17 Tom Tromey <>
* MAINTAINERS: Add myself as dwarf-mode.el maintainer.
2017-10-11 Peeter Joot <>
Nick Clifton <>
* dwarf.c (read_and_display_attr_value): Handle DW_AT_endianity,
DW_END_default, DW_END_big, DW_END_little, DW_ATE_UCS,
DW_ATE_ASCII, DW_CC_pass_by_reference, DW_CC_pass_by_value,
DW_CC_GNU_renesas_sh, DW_CC_GNU_borland_fastcall_i386,
DW_AT_decimal_sign, DW_AT_defaulted, DW_AT_discr_list.
(get_TAG_name): Report user generated tag values.
* testsuite/binutils-all/dwarf-attributes.S: New test.
* testsuite/binutils-all/dwarf-attributes.W. Expected output from
* testsuite/binutils-all/readelf.exp: Run the new test.
2017-10-10 Tom Tromey <>
* dwarf-mode.el: Bump to version 1.4.
2017-10-10 Tom Tromey <>
* dwarf-mode.el (dwarf--process, dwarf--deletion-region): New
(dwarf--check-running, dwarf--sentinel, dwarf--invoke)
(dwarf--filter): New functions.
(dwarf-do-insert-substructure, dwarf-do-refresh): Call
dwarf--check-running, dwarf--invoke.
(dwarf-browse): Initialize new variables.
2017-10-10 Tom Tromey <>
* dwarf-mode.el: Set lexical-binding.
2017-10-10 Tom Tromey <>
* dwarf-mode.el (dwarf-mode-map): New defvar.
2017-10-10 Tom Tromey <>
PR 22249
* dwarf.c (process_debug_info): Skip any comp unit that ends
before dwarf_start_die.
2017-10-06 Alan Modra <>
* dwarf.c (process_debug_info): Consolidate header length checks.
(display_debug_pubnames_worker): Use "start" to read header.
Properly check header length and report errors earlier.
Simplify loop printing pubnames.
(get_line_filename_and_dirname): Catch small negative "length"
(display_debug_aranges): Likewise. Report header errors
earlier using standardized message.
(display_debug_names): Likewise.
2017-10-05 Joseph Myers <>
* readelf.c (decode_arm_unwind): Initialize res to TRUE.
2017-10-05 Nick Clifton <>
PR 22260
* objcopy.c (strip_main): Add 'M' character to short options list
when calling getopt_long.
2017-10-05 Nick Clifton <>
PR 22262
* readelf.c (dump_relocations): Do not truncate reloc names when
displaying output in wide mode.
2017-10-05 Nick Clifton <>
* README-how-to-make-a-release: Merge steps 3, 4 and 5, and insert
the git tag operation at the correct location.
2017-10-05 Alan Modra <>
PR 22239
* dwarf.c (read_cie): Don't compare "start" and "end" pointers
after adding a possibly wild length to "start", compare the length
to the difference of the pointers instead. Remove now redundant
"negative" length test.
2017-10-05 Tristan Gingold <>
* MAINTAINERS: Update email address. Redirect release maintainer
to global maitainers.
2017-10-01 Alan Modra <>
PR 22232
PR 22230
* objdump.c (load_specific_debug_section): Introduce a temp to
stop bfd_get_full_section_contents NULLing out section->start.
2017-10-01 Alan Modra <>
PR 22230
* objdump.c (load_specific_debug_section): Allocate an extra byte
for a terminating NUL.
2017-09-30 Alan Modra <>
PR 21978
* objdump.c: Formatting.
(show_line): Reset prev_line when function name changes.
2017-09-27 Nick Clifton <>
PR 22219
* dwarf.c (process_debug_info): Add a check for a negative
cu_length field.
2017-09-27 Alan Modra <>
PR 22216
* readelf.c (process_symbol_table): Check that DT_HASH symbol
chains are only visited once, and report an error if not. Display
invalid symbol index if chain is out of range. Use the same logic
when calculating histograms rather than the PR 17531 fix. Delete
bogus check that chained index is less than number of buckets.
2017-09-26 Nick Clifton <>
PR 22154
* dwarf.c (get_line_filename_and_dirname): Add extra checks for
buffer overruns.
2017-09-26 Nick Clifton <>
* README-how-to-make-a-release: New file.
2017-09-26 Alan Modra <>
PR 21732
* dwarf.c (READ_ULEB): Don't use DWARF_VMA_FMT in translated string.
(READ_SLEB): Likewise.
* readelf.c (bfd_vmatoa): New function.
(get_data, get_dynamic_data): Use it for printing error messages.
2017-09-25 H.J. Lu <>
PR binutils/22203
* nm.c (display_rel_file): Free memory returned from
2017-09-22 Alexandre Oliva <>
* dwarf.h (debug_info): Add loc_views and num_loc_views.
* dwarf.c (vm1): New constant.
(print_dwarf_view): New function.
(read_and_display_attr_value): Support DW_AT_GNU_locviews.
(process_debug_info): Keep num_loc_offsets and num_loc_views
in sync.
(display_view_pair_list): New function.
(display_loc_list_dwo): Take vstart_ptr; update it. Dump
location view pairs before the range they apply to, when a
viewlist augments the loc list.
(display_loc_list): Likewise. Check view numbers in range
(display_loclists_list): Likewise. Handle view pair entries,
and warn on trailing ones.
(loc_views): New variable.
(loc_offsets_compar): Compare loc_views if loc_offsets are the
(display_debug_loc): Check and sort loc_views too. Accept
loc_view as expected_start. Skip if lists and views are the
same. Dump locview list separately in order, and pass the
locview list base to each list dump function. Warn and skip
overlap and hole checking if we find loclists and locviews to
not be adjacent.
* testsuite/binutils-all/locview-1.s: New.
* testsuite/binutils-all/readelf.locview-1: New.
* testsuite/binutils-all/locview-2.s: New.
* testsuite/binutils-all/readelf.locview-2: New.
* testsuite/binutils-all/readelf.exp: Run new tests. Fix
option spelling in pr18374 fail message. XFAIL dw5 test on
2017-09-22 Alan Modra <>
* testsuite/binutils-all/readelf.exp: Don't perror and exit on
bintest.s assembly failure. Report tests unresolved instead.
Likewise for version note test, pr18374, decompress, and dw5
(readelf_test): Set testname to include both option and binary
file name. Use for pass/fail.
2017-09-21 Maciej W. Rozycki <>
* readelf.c (get_machine_flags) <E_MIPS_MACH_5900>: New case.
2017-09-05 Nick Clifton <>
PR 21995
* readelf.c (process_mips_specific): Add checks for a NULL data
2017-09-05 Alexander Fedotov <>
Edmar Wienskoski <
* readelf.c (get_elf_section_flags): Add VLE.
(process_section_headers): Add VLE key to details.
2017-08-25 Alan Modra <>
PR 21994
* readelf.c (process_version_sections <SHT_GNU_verdef>): Check
vd_aux and vda_next for sanity. Delete "end". Correct overflow
(process_version_sections <SHT_GNU_verneed>): Correct overflow
check. Don't report invalid vna_next on overflow. Do report
invalid vna_next on size less than aux info.
2017-08-23 Alan Modra <>
PR 21990
* readelf.c (process_version_sections <SHT_GNU_verneed>): Check
for invalid vn_next field before adding to idx. Use unsigned
long for index vars. Move index checks.
<SHT_GNU_verdef>: Likewise for vd_next.
2017-08-17 Nick Clifton <>
* testsuite/binutils-all/note-3-64.s: New test. Checks assembly
and decoding of version2 GNU build attribute notes.
* testsuite/binutils-all/note-3-32.s: New test. 32-bit version of
the above test.
* testsuite/binutils-all/note-3-64.d: New test driver.
* testsuite/binutils-all/note-3-32.d: New test driver.
* testsuite/binutils-all/objcopy.exp: Run the new test.
* readelf.c (is_64bit_abs_reloc): Add R_SPARC_64.
2017-08-14 Gustavo Romero <>
* readelf.c (get_note_type): Handle PPC note types available
since Linux 4.8.
2017-08-12 Alan Modra <>
* readelf.c (process_note): Qualify NT_GNU_BUILD_ATTRIBUTE notes
by name data.
2017-08-08 Nick Clifton <>
PR 21909
* prdbg.c (pr_int_type): Increase size of local string buffer.
(pr_float_type): Likewise.
(pr_bool_type): Likewise.
2017-08-02 Nick Clifton <>
PR 21702
* arsup.c (ar_addmod): Add plugin support for the MRI ADDMOD
2017-08-02 Nick Clifton <>
* testsuite/binutils-all/objdump.exp (cpus_expected): Add am33-2.
2017-08-02 Alan Modra <>
* readelf.c (is_32bit_abs_reloc): Add R_IA64_SECREL32MSB and
(is_64bit_abs_reloc): Add R_IA64_DIR64MSB.
(is_64bit_pcrel_reloc): Add R_IA64_PCREL64MSB.
2017-08-01 Nick Clifton <>
* po/sv.po: Updated Swedish translation.
2017-07-31 Marty Plummer <>
PR 21861
* winduni.c (codepages): Use cp1252 for codepage 0.
2017-07-25 Nick Clifton <>
PR 21820
* readelf.c (dump_section_as_strings): Do not fail if the section
was empty.
(dump_section_as_bytes): Likewise.
2017-07-24 Nick Clifton <>
PR 21813
* rddbg.c (read_symbol_stabs_debugging_info): Check for an empty
string whilst concatenating symbol names.
2017-07-21 Nick Clifton <>
* po/fr.po: Updated French translation.
2017-07-21 Simon Marchi <>
* dwarf.c (last_pointer_size, warned_about_missing_comp_units):
(load_debug_info): Remove assignments to those two variables.
2017-07-21 Alexandre Oliva <>
* dwarf.c (struct State_Machine_Registers): Add view field.
(reset_state_machine): Reset view.
(process_extended_line_op): Reset view when appropriate.
(display_debug_lines_raw): Increment or reset view when appropriate.
Print nonzero views. Support print view resets, disabled by default.
(display_debug_lines_decoded): Likewise. Disambiguate op_code tests,
enabling printing of end_sequence.
* testsuite/binutils-all/dw2-1.W: Add nonzero views.
* testsuite/binutils-all/dw2-3.W: Likewise.
* testsuite/binutils-all/dw2-3gabi.W: Likewise.
* testsuite/binutils-all/dw5.W: Add end sequence lines.
* testsuite/binutils-all/i386/compressed-1a.d: Add nonzero views.
* testsuite/binutils-all/libdw2-compressedgabi.out: Likewise.
* testsuite/binutils-all/objdump.W: Likewise.
* testsuite/binutils-all/objdump.WL: Add end sequence lines.
* testsuite/binutils-all/x86-64/compressed-1a.d: Add nonzero views.
2017-07-19 Tristan Gingold <>
* nm.c (show_stats): Remove variable.
(long_options): Remove --stats option.
(main): Remove handling of --stats.
2017-07-18 Nick Clifton <>
PR 21775
* coffgrok.c: Fix spelling typos.
* readelf.c: Likewise.
* stabs.c: Likewise.
* testsuite/binutils-all/objcopy.exp: Likewise.
2017-07-18 Nick Clifton <>
* po/sv.po: Updated Swedish translation.
2017-07-18 Hans-Peter Nilsson <>
* dwarf.c (display_debug_names): Initialize hash_prev.
2017-07-17 Nick Clifton <>
PR 21433
* ar.c (main): Skip check for no files on the command line when
running in MRI mode.
2017-07-13 H.J. Lu <>
* testsuite/binutils-all/objdump.exp: Always delete $testarchive
2017-07-12 Alan Modra <>
* po/bg.po: Update from
* po/ca.po: Likewise.
* po/da.po: Likewise.
* po/es.po: Likewise.
* po/fi.po: Likewise.
* po/fr.po: Likewise.
* po/hr.po: Likewise.
* po/id.po: Likewise.
* po/it.po: Likewise.
* po/ja.po: Likewise.
* po/ro.po: Likewise.
* po/ru.po: Likewise.
* po/sk.po: Likewise.
* po/sr.po: Likewise.
* po/sv.po: Likewise.
* po/tr.po: Likewise.
* po/uk.po: Likewise.
* po/vi.po: Likewise.
* po/zh_CN.po: Likewise.
* po/zh_TW.po: Likewise.
2017-07-12 Nick Clifton <>
Fix compile time warnings using gcc 7.1.1.
* dwarf.c (dwarf_vmatoa_1): Do not pass a NULL string pointer to
* srconv.c (walk_tree_type): Initialise the spare field of the
IT_dty structure.
2017-07-11 Andreas Schwab <>
* readelf.c (process_note): Print newline after description data
in narrow mode.
(print_core_note): Print newline if nothing was printed in wide
2017-07-09 Rafael Fontenelle <>
* dwarf.c (display_formatted_table): Fix error message typo.
2017-07-07 John Baldwin <>
* readelf.c (get_freebsd_elfcore_note_type): Handle
2017-07-05 H.J. Lu <>
* dwarf.c (display_debug_names): Replace index with xindex.
2017-07-04 Tristan Gingold <>
* configure: Regenerate.
2017-07-04 Tristan Gingold <>
* NEWS: Add marker for 2.29.
2017-07-03 Tristan Gingold <>
* po/binutils.pot: Regenerate.
2017-07-03 Alan Modra <>
* strings.c (filename_and_size_t): Delete.
(strings_a_section): Don't check section size against file size.
Use bdf_malloc_and_get_section. Report an error on failures.
Replace arg param with filename and got_a_section param.
(got_a_section): Move to..
(strings_object_file): auto var here. Iterate over sections
rather than calling bfd_map_over_sections. Adjust strings_a_section
2017-07-02 Jan Kratochvil <>
* dwarf.c: Include assert.h.
(MAX, MIN, get_IDX_name, display_debug_names): New.
(debug_displays): Add .debug_names.
* dwarf.h: (enum dwarf_section_display_enum): Add debug_names.
* readelf.c (process_section_headers): Add ".debug_names".
2017-07-01 Alan Modra <>
PR binutils/21665
* objdump.c (strtab): Make var a bfd_byte*.
(disassemble_section): Don't limit malloc size. Instead, use
(read_section_stabs): Use bfd_malloc_and_get_section. Return
(find_stabs_section): Remove now unnecessary cast.
* objcopy.c (copy_object): Use bfd_malloc_and_get_section. Free
contents on error return.
* nlmconv.c (copy_sections): Use bfd_malloc_and_get_section.
2017-06-30 Nick Clifton <>
PR binutils/21665
* objdump.c (disassemble_section): Move check for an overlarge
section to just before the allocation of memory. Do not check
section size against file size, but instead use an arbitrary 2Gb
limit. Issue a warning message if the section is too big.
2017-06-30 Maciej W. Rozycki <>
* NEWS: Mention microMIPS XPA support.
2017-06-30 Maciej W. Rozycki <>
* NEWS: Mention microMIPS Release 5 ISA support.
2017-06-30 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips-xpa-virt-1.d: New test.
* testsuite/binutils-all/mips/mips-xpa-virt-2.d: New test.
* testsuite/binutils-all/mips/mips-xpa-virt-3.d: New test.
* testsuite/binutils-all/mips/mips-xpa-virt-4.d: New test.
* testsuite/binutils-all/mips/mips-xpa-virt.s: New test source.
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
2017-06-29 Anton Kolesov <>
* testsuite/binutils-all/arc/double_store.s: New file.
* testsuite/binutils-all/arc/objdump.exp: Tests for disassembler
(do_objfile): New function.
(check_assembly): Likewise.
2017-06-29 Andreas Arnez <>
* readelf.c (get_note_type): Add NT_S390_GS_CB and NT_S390_GS_BC.
2017-06-28 H.J. Lu <>
* objdump.c (dump_relocs_in_section): Cast to ufile_ptr when
comparing against bfd_get_file_size return.
2017-06-28 Nick Clifton <>
* objcopy.c (merge_gnu_build_notes): Add support for version 2 notes.
* readelf.c (print_gnu_build_attribute_name): Likewise.
2017-06-28 Maciej W. Rozycki <>
Matthew Fortune <>
* readelf.c (get_machine_flags) <E_MIPS_MACH_IAMR2>: New case.
(print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
* NEWS: Mention Imagination interAptiv MR2 processor support.
2017-06-26 Nick Clifton <>
PR binutils/21665
* objdump.c (disassemble_section): Skip any section that is bigger
than the entire file.
2017-06-26 Nick Clifton <>
PR binutils/21659
* bucomm.c (get_file_size): Explicitly warn if the file is a
2017-06-24 Thomas Preud'homme <>
* readelf.c (arm_attr_tag_CPU_arch): Fill value for ARMv8-R.
2017-06-23 Nick Clifton <>
PR binutils/21659
* strings.c (strings_file): Warn about attempts to run strings on
a directory.
2017-06-22 H.J. Lu <>
* readelf.c (decode_x86_feature): Decode
* testsuite/binutils-all/i386/shstk.d: New file.
* testsuite/binutils-all/i386/shstk.s: Likewise.
* testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
* testsuite/binutils-all/x86-64/shstk.d: Likewise.
* testsuite/binutils-all/x86-64/shstk.s: Likewise.
2017-06-22 H.J. Lu <>
* readelf.c (decode_x86_feature): New.
(print_gnu_property_note): Call decode_x86_feature on
* testsuite/binutils-all/i386/empty.d: New file.
* testsuite/binutils-all/i386/empty.s: Likewise.
* testsuite/binutils-all/i386/ibt.d: Likewise.
* testsuite/binutils-all/i386/ibt.s: Likewise.
* testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
* testsuite/binutils-all/x86-64/empty.d: Likewise.
* testsuite/binutils-all/x86-64/empty.s: Likewise.
* testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
* testsuite/binutils-all/x86-64/ibt.d: Likewise.
* testsuite/binutils-all/x86-64/ibt.s: Likewise.
2017-06-21 H.J. Lu <>
* dwarf.c (READ_ULEB): Use DWARF_VMA_FMT to report error.
(READ_SLEB): Likewise.
2017-06-21 Nick Clifton <>
PR binutils/21648
* dwarf.c (LEB): Rename to SKIP_ULEB and READ_ULEB. Add check for
reading a value that is too big for the containing variable.
(SLEB): Rename to SKIP_SLEB and READ_SLEB. Add similar check.
Replace uses of LEB and SLEB with appropriate new macro.
(display_debug_frames): Use an unsigned int for the 'reg'
variable. Use a signed long for the 'l' variable.
2017-06-20 Andreas Krebbel <>
* readelf.c (get_s390_segment_type): Add support for the new
segment type PT_S390_PGSTE.
(get_segment_type): Call get_s390_segment_type.
2017-06-19 Nick Clifton <>
PR binutils/21619
* objdump.c (disassemble_bytes): Check that there is sufficient
data available before attempting to display it.
2017-06-06 Simon Marchi <>
* sysinfo.y: Free memory allocated by token NAME.
2017-05-30 Anton Kolesov <>
* doc/binutils.texi: Document new cpu=... disassembler options for ARC.
2017-05-30 H.J. Lu <>
PR binutils/21519
* objdump.c (dump_relocs_in_section): Replace get_file_size
with bfd_get_file_size to get archive element size.
* testsuite/binutils-all/objdump.exp (test_objdump_f): New
(test_objdump_h): Likewise.
(test_objdump_t): Likewise.
(test_objdump_r): Likewise.
(test_objdump_s): Likewise.
Add objdump tests on archive.
2017-05-24 Yao Qi <>
* objdump.c (disassemble_data): Caller update.
2017-05-19 Jose E. Marchesi <>
* objcopy.c (merge_gnu_build_notes): Remove workaround that
prevented deleting relocations in duplicated notes in mips64 and
2017-05-19 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips-note-2.d: New test.
* testsuite/binutils-all/mips/mips-note-2r.d: New test.
* testsuite/binutils-all/mips/mips-note-2-n32.d: New test.
* testsuite/binutils-all/mips/mips-note-2-n64.d: New test.
* testsuite/binutils-all/mips/mips-note-2r-n32.d: New test.
* testsuite/binutils-all/mips/mips-note-2r-n64.d: New test.
* testsuite/binutils-all/mips/mips.exp: Define `has_newabi'.
Run the new tests.
2017-05-19 Maciej W. Rozycki <>
* testsuite/lib/utils-lib.exp (run_dump_test): Handle the `dump'
2017-05-19 Jose E. Marchesi <>
* NEWS: Mention the SPARC M8 support.
2017-05-19 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips.exp: Bail out right away if
2017-05-18 Alan Modra <>
* strings.c: Don't compare boolean values against TRUE or FALSE.
2017-05-15 Jeff Law <>
* readelf.c (display_arc_attribute): Avoid implicit fallthru.
2017-05-15 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips16-undecoded.d: Add `-mips3'
to `as' flags.
* testsuite/binutils-all/mips/mips16e2-undecoded.d: New test.
* testsuite/binutils-all/mips/mips16e2-extend-insn.d: New test.
* testsuite/binutils-all/mips/mips16-undecoded.s: Remove
`.module mips3'.
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
2017-05-15 Maciej W. Rozycki <>
* readelf.c (print_mips_ases): Handle MIPS16e2 ASE.
* NEWS: Mention MIPS16e2 ASE support.
2017-05-12 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips16-extend-insn.d: Adjust BREAK
and SDBBP disassembly.
2017-05-10 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips.exp: Define `tempfile' and
`copyfile' variables.
2017-05-10 Claudiu Zissulescu <>
* readelf.c (decode_ARC_machine_flags): Recognize OSABI v4.
(get_arc_section_type_name): New function.
(get_section_type_name): Use the above function.
(display_arc_attribute): New function.
(process_arc_specific): Likewise.
(process_arch_specific): Handle ARC specific information.
2017-05-09 Kaz Kojima <>
* MAINTAINERS (SH): Remove myself as SH maintainer.
2017-05-02 H.J. Lu <>
* objcopy.c (merge_gnu_build_notes): Cast relcount to unsigned
long when comparing with sec->reloc_count.
2017-05-02 Nick Clifton <>
* objcopy.c (merge_gnu_build_notes): Disable merge if there are
more internal relocs than external relocs.
2017-05-02 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips16-undecoded.d: Adjust the
disassembly of PC-relative LA and LW synthetic instructions.
2017-05-02 Nick Clifton <>
PR 21440
* objdump.c (dump_relocs_in_section): Check for an excessive
number of relocs before attempting to dump them.
2017-05-01 Alan Modra <>
* objcopy.c (merge_gnu_build_notes): Correct code deleting
2017-04-28 Nick Clifton <>
PR binutils/21439
* readelf.c (print_gnu_build_attribute_name): Allow for an empty
name field.
2017-04-28 Nick Clifton <>
PR binutils/21437
* readelf.c (process_version_sections): Check for underflow when
computing the start address of the auxiliary version data.
2017-04-28 Nick Clifton <>
PR binutils/21438
* dwarf.c (process_extended_line_op): Do not assume that the
string extracted from the section is NUL terminated.
(fetch_indirect_string): If the string retrieved from the section
is not NUL terminated, return an error message.
(fetch_indirect_line_string): Likewise.
(fetch_indexed_string): Likewise.
2017-04-26 Nick Clifton <>
PR binutils/21433
* bucomm.c (get_file_size): Return -1 if file_name is NULL.
* ar.c (main): Fail with usage() invocation if no file names are
2017-04-26 Nick Clifton <>
* readelf.c (process_section_headers): Warn about overlarge
(print_gnu_build_attribute_name): Print the number of unrecognised
note types. Fix formatting in the presence of errors.
(testsuite/binutils-all/note-2-32.s): Fix encoding of numeric notes.
(testsuite/binutils-all/note-2-64.s): Likewise.
2017-04-26 Maciej W. Rozycki <>
* readelf.c (process_mips_specific): Add static GOT support.
2017-04-25 Maciej W. Rozycki <>
* readelf.c (process_mips_specific): Remove error reporting from
GOT[1] processing.
2017-04-25 Maciej W. Rozycki <>
* readelf.c (process_mips_specific): Remove null GOT data check.
2017-04-25 Maciej W. Rozycki <>
* testsuite/binutils-all/mips/mips16-alias.d: New test.
* testsuite/binutils-all/mips/mips16-noalias.d: New test.
* testsuite/binutils-all/mips/mips16-alias.s: New test source.
* testsuite/binutils-all/mips/mips.exp: Run the new tests.
2017-04-23 Alan Modra <>
PR 21418
* ar.c (main): Check -a, -b, -i and -N args are given.
2017-04-23 Alan Modra <>
PR 21417
* ar.c (main): Check that an archive file is given after options.
2017-04-23 Alan Modra <>
PR 21415
* objdump.c (disassemble_section): Check bfd_get_section_contents
2017-04-23 Alan Modra <>
PR 21408
* dwarf.c (display_debug_lines_decoded): Don't segfault on NULL
2017-04-21 Nick Clifton <>
PR binutils/21378
* readelf.c (print_gnu_build_attribute_name): Check for an
overlarge name field.
2017-04-13 Nick Clifton <>
PR binutils/21379
* readelf.c (process_dynamic_section): Detect over large section
offsets in the DT_SYMTAB entry.
2017-04-13 Nick Clifton <>
PR binutils/21345
* readelf.c (process_mips_specific): Catch an unfeasible memory
allocation before it happens and print a suitable error message.
2017-04-13 Nick Clifton <>
* objcopy.c: Add --no-merge-notes option to disable note merging.
Add --[no-]merge-notes option to strip, and enable it by default.
(num_bytes): New function.
(merge_gnu_build_notes): Add code to merge stack size notes.
* binutils.texi: Update strip and objcopy documentation.
* readelf.c (print_gnu_build_attribute_name): Use defined
constants for note types.
2017-04-10 John Delsignor <>
PR binutils/21319
* dwarf.c (display_gdb_index): Correct test for a corrupt address
table size.
2017-04-05 Jiong Wang <>
* objcopy.c (struct redefine_node): Delete the field "next".
(redefine_sym_list): Deleted.
(redefine_specific_htab): New hash table.
(redefine_specific_reverse_htab): Likewise.
(eq_string_redefnode): New function.
(htab_hash_redefnode): Likewise.
(create_symbol2redef_htab): Likewise.
(add_specific_symbol_node): Likewise.
(create_symbol_htabs): Create redefine_specific_htab and
(lookup_sym_redefinition): Use hash table instead of list.
(redefine_list_append): Likewise, and rename to add_redefine_and_check.
(copy_main): Use redefine_specific_htab instead of redefine_sym_list.
Update comments.
2017-04-04 H.J. Lu <>
* NEWS: Mention support for ELF SHF_GNU_MBIND and
* readelf.c (get_segment_type): Handle PT_GNU_MBIND_XXX.
(get_elf_section_flags): Handle SHF_GNU_MBIND.
(process_section_headers): Likewise.
* testsuite/binutils-all/mbind1.s: New file.
* testsuite/binutils-all/objcopy.exp: Run readelf test on
2017-04-03 Nick Clifton <>
PR binutils/21345
* readelf.c (get_program_headers): Check for there being too many
program headers before attempting to allocate space for them.
2017-04-03 Nick Clifton <>
PR binutils/21344
* readelf.c (process_mips_specific): Check for an out of range GOT
entry before reading the module pointer.
2017-04-03 Nick Clifton <>
PR binutils/21343
* readelf.c (get_unwind_section_word): Fix snafu checking for
invalid word offsets in ARM unwind information.
2017-03-31 Pip Cet <>
* NEWS: Use "WebAssembly" consistently.
* testsuite/binutils-all/wasm32/wasm32.exp: Fix copyright notice.
2017-03-30 Pip Cet <>
* readelf.c: Add support for wasm32 ELF format WebAssembly files.
(guess_is_rela): Likewise.
(dump_relocations): Likewise.
(is_32bit_abs_reloc): Likewise.
(is_none_reloc_): Likewise.
* NEWS: Mention the new support.
* testsuite/lib/binutils-common.exp (is_elf_format): Mark wasm32
as ELF target.
(supports_gnu_unique): Mark wasm32 as supporting STB_GNU_UNIQUE.
* testsuite/binutils-all/nm.exp: Mark wasm32 as requiring .size annotations.
* testsuite/binutils-all/wasm32: New directory.
* testsuite/binutils-all/wasm32/create-wasm.d: New file.
* testsuite/binutils-all/wasm32/create-wasm.s: Likewise.
* testsuite/binutils-all/wasm32/custom-section.d: Likewise.
* testsuite/binutils-all/wasm32/custom-section.s: Likewise.
* testsuite/binutils-all/wasm32/invalid-wasm-1.d: Likewise.
* testsuite/binutils-all/wasm32/invalid-wasm-1.s: Likewise.
* testsuite/binutils-all/wasm32/long-sections.d: Likewise.
* testsuite/binutils-all/wasm32/long-sections.s: Likewise.
* testsuite/binutils-all/wasm32/parse-wasm.d: Likewise.
* testsuite/binutils-all/wasm32/parse-wasm.s: Likewise.
* testsuite/binutils-all/wasm32/parse-wasm-2.d: Likewise.
* testsuite/binutils-all/wasm32/parse-wasm-2.s: Likewise.
* testsuite/binutils-all/wasm32/prepared-section.d: Likewise.
* testsuite/binutils-all/wasm32/prepared-section.s: Likewise.
* testsuite/binutils-all/wasm32/wasm32.exp: New file, run tests.
2017-03-29 Alan Modra <>
* doc/binutils.texi (objdump): Document PowerPC -M options.
2017-03-21 Andi Kleen <>
* objdump.c (unwind_inlines): Add.
(option_values): Add OPTION_INLINES.
(show_line): Unwind inlines if requested.
(main): Parse OPTION_INLINES.
(usage): Document --inlines.
* doc/binutils.texi: Document --inlines.
* NEWS: Likewise.
2017-03-21 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_name): Allow stack
protection notes to contain numeric values. Use a colon rather
than a space to separate a string name from its values. Decode
the numeric value of a stack protection note.
* objcopy.c (merge_gnu_build_notes): Allow version notes to
contain extra text after the protocol version number.
2017-03-20 Mark Wielaard <>
* readelf.c (process_program_headers): Move dynamic_addr check
after .dynamic section cross check.
2017-03-17 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_name): Fix off by one error
printing the value for a build note with an ascii name.
2017-03-16 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_name): Add support for
2017-03-14 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_description): Move symbol
printing code to...
(print_symbol_for_build_attribute): New function.
Add to find the best symbol to associate with an OPEN note.
Add code to cache the symbol table and string table, so that they
are not loaded every time a note is displayed.
* testsuite/binutils-all/note-2-32.s: Add a function symbol.
* testsuite/binutils-all/note-2-64.s: Likewise.
* testsuite/binutils-all/note-2-32.d: Update expected note output.
* testsuite/binutils-all/note-2-64.d: Likewise.
2017-03-13 Alan Modra <>
Taeung Song <>
* objdump.c (update_source_path): Add abfd param. Add struct
stat var. Pass to try_print_file_open. Warn if source is more
recent than object.
(try_print_file_open, slurp_file): Add struct stat param to
return fstat.
(show_line): Call update_source_path with bfd.
2017-03-10 Chia-Hao Lo <>
PR binutils/21235
* objdump.c (main): Set do_wide with --wide.
2017-03-10 Nick Clifton <>
* readelf.c (get_machine_name): Rearrange switch table in order of
increasing machine number. Add missing entries.
2017-03-08 H.J. Lu <>
PR binutils/21231
* readelf.c (decode_x86_isa): Change argument to unsigned int.
(print_gnu_property_note): Retrieve property type and datasz as
4-byte integer. Consolidate property datasz check. Check
* testsuite/binutils-all/i386/pr21231a.d: New file.
* testsuite/binutils-all/i386/pr21231a.s: Likewise.
* testsuite/binutils-all/i386/pr21231b.d: Likewise.
* testsuite/binutils-all/i386/pr21231b.s: Likewise.
* testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231a.s: Likewise.
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
* testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
2017-03-06 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_name): Read byte values
from the name string as unsigned bytes.
(process_notes_at): Use memcpy to copy an unterminated name
2017-03-06 Sam Thursfield <>
* (AC_CHECK_DECLS): Add asprintf.
* Regenerate.
* configure: Regenerate.
2017-03-02 Nick Clifton <>
* readelf.c (print_gnu_build_attribute_description): Use global
symbols for OPEN attributes if at all possible.
* objcopy.c (is_merged_note_section): Support build note sections
without the SHF_GNU_BUILD_NOTE section flag set.
2017-03-02 Jan Kratochvil <>
* dwarf.c (debug_displays_assert): New static assertion.
2017-03-02 Jan Kratochvil <>
* dwarf.h (enum dwarf_section_display_enum): Add loclists and rnglists.
2017-03-01 Nick Clifton <>
* readelf.c (get_note_type): Add support for GNU_BUILD_NOTEs.
(get_gnu_elf_note_type): Add support for GNU_PROPERTY_NOTEs.
(decode_x86_isa): New function.
(print_gnu_property_note): New function.
(print_gnu_note): Handle GNU_PROPERTY_NOTEs.
(print_gnu_build_attribute_description): New function.
(print_gnu_build_attribute_name): New function.
(process_note): Add support for GNU_BUILD_NOTEs.
* objcopy.c (--merge-notes): New command line option.
(copy_options): Add merge-notes.
(copy_usage): Likewise.
(is_merge_note_section): New function.
(merge_gnu_build_notes): New function.
(copy_object): Merge note sections if asked to do so.
(skip_section): Add skip_copy parameter. Add support for skipping
merged note sections.
(copy_relocations_in_section): Update call to skip_section.
(copy_section): Likewise.
(copy_main): Add support for merge-notes option.
* doc/binutils.texi: Document the new option to objcopy.
* NEWS: Mention the new feature.
* testsuite/binutils-all/note-2-32.d: New test. Checks note
merging on 32-bit targets.
* testsuite/binutils-all/note-2-32.s: New test source file.
* testsuite/binutils-all/note-2-64.d: New test. Like note-2-32.d
but for 64-bit targets.
* testsuite/binutils-all/note-2-64.s: New test source file.
* testsuite/binutils-all/objcopy.exp: Run the new test.
2017-02-28 Peter Bergner <>
* objdump.c (main): Use remove_whitespace_and_extra_commas.
2017-02-27 Jan Kratochvil <>
Fix compilation with GCC 4.4.7.
* dwarf.c (display_loclists_list, display_debug_rnglists_list):
Initialize begin and end.
2017-02-25 Alan Modra <>
* testsuite/binutils-all/dw5.S: Replace .string with .asciz.
Support hpux .comm variant.
* testsuite/binutils-all/readelf.exp: Define HPUX when assembling
dw5 test for hppa64-hpux.
2017-02-24 Nick Clifton <>
* readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
(do_reloc, do_sections, do_section_groups, do_section_details,
(do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
(do_version, do_histogram, do_debugging, do_arch, do_notes,
(do_archive_index, is_32bit_elf, decompress_dumps): Use
bfd_boolean type.
(parse_args): Treat the do_* variables as booleans.
(print_vma): Return an unsigned int.
(print_symbol): Change width parameter to signed int.
(is_ia64_vms): Change return type to bfd_boolean.
(guess_is_rela): Likewise.
(slurp_rela_relocs): Likewise.
(slurp_rel_relocs): Likewise.
(dump_relocations): Likewise.
(process_file_header): Likewise.
(get_program_headers): Likewise.
(process_program_headers): Likewise.
(process_section_headers): Likewise.
(process_section_groups): Likewise.
(dump_ia64_vms_dynamic_fixups): Likewise.
(dump_ia64_vms_dynamic_relocs): Likewise.
(process_ia64_vms_dynamic_relocs): Likewise.
(process_relocs): Likewise.
(dump_ia64_unwind): Likewise.
(ia64_process_unwind): Likewise.
(dump_hppa_unwind): Likewise.
(slurp_hppa_unwind_table): Likewise.
(hppa_process_unwind): Likewise.
(decode_arm_unwind_bytecode): Likewise.
(decode_tic6x_unwind_bytecode): Likewise.
(decode_arm_unwind): Likewise.
(dump_arm_unwind): Likewise.
(arm_process_unwind): Likewise.
(process_unwind): Likewise.
(get_32bit_dynamic_section): Likewise.
(get_64bit_dynamic_section): Likewise.
(process_dynamic_section): Likewise.
(process_version_sections): Likewise.
(process_symbol_table): Likewise.
(process_syminfo): Likewise.
(apply_relocations): Likewise.
(disassemble_section): Likewise.
(dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
(load_specific_debug_section): Likewise.
(load_debug_section): Likewise.
(display_debug_section): Likewise.
(process_section_contents): Likewise.
(process_attributes): Likewise.
(process_nds32_specific): Likewise.
(process_gnu_liblist): Likewise.
(print_core_note): Likewise.
(print_gnu_note): Likewise.
(print_v850_note): Likewise.
(process_netbsd_elf_note): Likewise.
(print_stapsdt_note): Likewise.
(print_ia64_vms_note): Likewise.
(process_note): Likewise.
(process_notes_at): Likewise.
(process_corefile_note_segments): Likewise.
(process_v850_notes): Likewise.
(process_note_sections): Likewise.
(process_notes): Likewise.
(process_arch_specific): Likewise.
(get_file_header): Likewise.
(process_object): Likewise.
(process_archive): Likewise.
(process_file): Likewise.
(section_subset): Make static.
(get_mips_reg_size): Return a signed integer.
(process_object): Reverse the logic of the return value.
(process_archive): Likewise.
(process_file): Likewise.
(process_program_headers): Fix snafu - if the program headers are
not available then this is not a cause to fail.
(process_corefile_note_segments): Likewise.
2017-02-24 Maciej W. Rozycki <>
* readelf.c (get_ver_flags): Tidy the formatting of the string
2017-02-24 Maciej W. Rozycki <>
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Make
`isum' unsigned.
<SHT_GNU_verneed>: Likewise.
2017-02-24 Maciej W. Rozycki <>
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Limit
the number of entries processed by the section size. Don't
break out of the loop if `ent.vd_next' is 0.
2017-02-23 Jan Kratochvil <>
* testsuite/binutils-all/dw5.S: New file.
* testsuite/binutils-all/dw5.W: New file.
* testsuite/binutils-all/readelf.exp (readelf -wiaoRlL): New test.
2017-02-23 Jan Kratochvil <>
* dwarf.c (read_and_display_attr_value): Support DW_FORM_data16.
2017-02-23 Jan Kratochvil <>
* dwarf.c (display_debug_macro): Support DWARF-5. Rename
2017-02-23 Jan Kratochvil <>
* dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
and DW_OP_reinterpret.
(read_and_display_attr_value): Support DW_AT_call_value,
DW_AT_call_data_value, DW_AT_call_target and
2017-02-23 Jan Kratochvil <>
* dwarf.c (fetch_indirect_line_string): New function.
(abbrev_attr): New field implicit_const.
(add_abbrev_attr): New parameter implicit_const.
(process_abbrev_section): Support DW_FORM_implicit_const.
(decode_location_expression): Support DW_OP_entry_value.
(read_and_display_attr_value): Add parameter implicit_const. Support
DW_FORM_line_strp and DW_FORM_implicit_const.
(read_and_display_attr): Add parameter implicit_const.
(process_debug_info): Support line_str and DWARF-5.
(read_debug_line_header): Support DWARF-5.
(display_formatted_table): New function.
(display_debug_lines_raw): New parameter file. Support DWARF-5.
(display_debug_lines_decoded): New parameter fileptr. Support DWARF-5.
(display_debug_lines): Pass file parameter.
(display_debug_macro): Update read_and_display_attr_value caller.
(display_debug_abbrev): Support DW_FORM_implicit_const.
(display_loclists_list): New function.
(display_loc_list): Support .debug_loclists.
(display_debug_ranges_list): New function from display_debug_ranges.
(display_debug_rnglists_list): New function.
(display_debug_ranges): Support .debug_rnglists.
(debug_displays): Add .debug_line_str, .debug_loclists and
* dwarf.h: Include dwarf2.h
(DWARF2_Internal_LineInfo): Add li_offset_size.
(DWARF2_Internal_CompUnit): Add cu_unit_type.
(enum dwarf_section_display_enum): Add line_str.
* readelf.c (process_section_headers): Add rnglists and loclists.
2017-02-23 Jan Kratochvil <>
* dwarf.c (display_block): Add parameter delimiter.
(decode_location_expression): Update display_block callers.
(read_and_display_attr_value): Add parameter delimiter.
(read_and_display_attr, display_debug_macro): Update
read_and_display_attr_value caller.
2017-02-23 Jan Kratochvil <>
* dwarf.c (display_loc_list): Use dwarf_vma for offset, base_address
and off.
(display_loc_list_dwo): Use dwarf_vma for offset.
(display_debug_loc): Use dwarf_vma for offset, base_address.
(struct range_entry, range_entry_compar): Use dwarf_vma for
(display_debug_ranges): Use dwarf_vma for ranges_offset, offset and
2017-02-23 Nick Clifton <>
* readelf.c (display_tag_value): Use an explicit signed type for
the tag parameter.
(display_gnu_attributes): Use an unsigned integer type for
attribute tags.
(display_power_gnu_attribute): Likewise.
(display_s390_gnu_attribute): Likewise.
(display_sparc_hwcaps): Likewise.
(display_sparc_hwcaps2): Likewise.
(display_sparc_gnu_attribute): Likewise.
(display_mips_gnu_attribute): Likewise.
(display_tic6x_attribute): Likewise.
(display_raw_attribute): Likewise.
(process_attributes): Likewise.
(process_arm_specific): Delete redundant function.
(process_power_specific): Likewise.
(process_s390_specific): Likewise.
(process_sparc_specific): Likewise.
(process_tic6x_specific): Likewise.
(process_msp430x_specific): Likewise.
(display_public_gnu_attributes): New function. Displays known
information about an unknown gnu attribute.
(display_generic_attribute): New function. Calls
display_tag_value for non-nul tags.
(process_arch_specific): Call process_attributes even for
architectures not known to specifically support gnu attributes.
2017-02-22 Jan Kratochvil <>
* dwarf.c (decode_location_expression): Display also OP.
2017-02-22 Maciej W. Rozycki <>
* readelf.c (process_version_sections) <SHT_GNU_verdef>: Print a
new line between the heading and the first version definition
2017-02-20 Nick Clifton <>
PR binutils/21156
* dwarf.c (cu_tu_indexes_read): Move into...
(load_cu_tu_indexes): ... here. Change the variable into
tri-state. Change the function into boolean, returning
false if the indicies could not be loaded.
(find_cu_tu_set): Return NULL if the indicies could not be
2017-02-17 Nick Clifton <>
PR binutils/21156
* readelf.c (find_section_in_set): Test for invalid section
2017-02-17 Nick Clifton <>
* readelf.c (get_section_type_name): Add decoding of GNU section
2017-02-15 Nick Clifton <>
* MAINTAINERS: (MIPS, MN10300): Move Eric Christopher to Past
Maintainers section.
2017-02-14 Nick Clifton <>
PR binutils/21159
* readelf.c (dump_section_as_strings): Reset the start address if
no decompression is perfromed.
(dump_section_as_bytes): Likewise.
2017-02-14 Nick Clifton <>
PR binutils/21158
* rddbg.c (read_symbol_stabs_debugging_info): Check for a null or
empty symbol name.
2017-02-14 Nick Clifton <>
PR binutils/21157
* stabs.c (parse_stab_enum_type): Check for corrupt NAME:VALUE
(parse_number): Exit early if passed an empty string.
2017-02-14 Nick Clifton <>
PR binutils/21155
* readelf.c (IN_RANGE): New macro. Tests for an address + offset
being within a given range.
(target_specific_reloc_handling): Use macro to test for underflow
as well as overflow of reloc offset.
2017-02-13 Nick Clifton <>
PR binutils/21150
* nm.c (file_symbol): Add test of string length before testing
string characters.
2017-02-13 Nick Clifton <>
PR binutils/21135
* readelf.c (dump_section_as_bytes): Handle the case where
uncompress_section_contents returns false.
(dump_section_as_bytes, load_specific_debug_section): Likewise.
2017-02-13 Nick Clifton <>
PR binutils/21149
* readelf.c (get_compression_header): Add size parameter. Check
size against sizeof compression header before attempting to
extract the header.
(process_section_headers): Pass size to get_compression_header.
(dump_section_as_strings): Likewise.
(dump_section_as_bytes): Likewise.
(load_specific_debug_section): Likewise.
2017-02-13 Nick Clifton <>
PR binutils/21148
* readelf.c (process_version_sections): Include size of auxiliary
version information when checking for buffer overflow.
2017-02-13 Nick Clifton <>
PR binutils/21147
* readelf.c (process_section_contents): Fix off by one error
reporting un-dumped sections.
2017-02-13 Nick Clifton <>
PR binutils/21139
* readelf.c (target_specific_reloc_handling): Add num_syms
parameter. Check for symbol table overflow before accessing
symbol value. If reloc pointer is NULL, discard all saved state.
(apply_relocations): Pass num_syms to target_specific_reloc_handling.
Call target_specific_reloc_handling with a NULL reloc pointer
after processing all of the relocs.
2017-02-13 Nick Clifton <>
PR binutils/21137
* readelf.c (target_specific_reloc_handling): Add end parameter.
Check for buffer overflow before writing relocated values.
(apply_relocations): Pass end to target_specific_reloc_handling.
2017-01-27 Dilyan Palauzov <>
Nick Clifton <>
PR 20343
* doc/binutils.texi (ar): Extend documentation of the --plugin
option. Include a description of where the plugins should be
(nm): Likewise.
2017-01-23 Nick Clifton <>
* MAINTAINERS: Add Bernd to Past Maintainers section.
(SCORE): Remove Mei Ligang as maintainer. Add to Past Maintainers
2017-01-23 Bernd Schmidt <>
* MAINTAINERS (BFIN): Remove myself as Blackfin maintainer.
2017-01-20 Andrew Burgess <>
* objdump.c (dump_section_header): Extract max section name length
from data parameter, use this when formatting output.
(find_longest_section_name): New function.
(dump_headers): Calculate longest section name when in wide mode,
reformat to unify printing of header line.
2017-01-18 Bernhard Rosenkranzer <>
PR 21059
* arlex.l: Support processing with flex 2.6.3.
* deflex.l: Likewise.
2017-01-17 Dmitry Timoshkov <>
* resbin.c: Optional dialog control data immediately follows
the control description without alignment.
* testsuite/binutils-all/windres/controldata.rc: New test.
* testsuite/binutils-all/windres/controldata.rsd: New test.
2017-01-12 Nick Clifton <>
PR binutils/20876
* NEWS: Mention the new feature.
* testsuite/binutils-all/objdump.exp (test_build_id_debuglink):
New proc to test the location of separate debug info files using
the build-id method.
2017-01-10 Nick Clifton <>
PR 21034
* stabs.c (parse_stab_members): Fix thinko checking for g++
version 1 stabs information.
2017-01-09 Nick Clifton <>
* objdump.c (display_file): Add new parameter 'last_file'. If
last_file is true, do not call bfd_close at the end of the
(main): Set the value of the last_file parameter when calling
2017-01-09 Alan Modra <>
* readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn
2017-01-06 Nick Clifton <>
* MAINTAINERS: Move Paul Brook to the Past Maintainers section.
2017-01-04 Dilan Palauzov <>
PR 20958
* syslex.l (option): Add noyywrap
(yywrap): Delete.
2017-01-02 Alan Modra <>
Update year range in copyright notice of all files.
For older changes see ChangeLog-2016
Copyright (C) 2017 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