2017-04-26 Nick Clifton * readelf.c (process_section_headers): Warn about overlarge sections. (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 status. 2017-04-23 Alan Modra PR 21408 * dwarf.c (display_debug_lines_decoded): Don't segfault on NULL file_table. 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 redefine_specific_reverse_htab. (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 PT_GNU_MBIND_XXX. * 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 mbind1.s. 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 GNU_BUILD_ATTRIBUTE_SHORT_ENUM. 2017-03-14 Nick Clifton * readelf.c (print_gnu_build_attribute_description): Move symbol printing code to... (print_symbol_for_build_attribute): New function. ...here. 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 GNU_PROPERTY_LOPROC and GNU_PROPERTY_LOUSER. * 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 string. 2017-03-06 Sam Thursfield * configure.ac (AC_CHECK_DECLS): Add asprintf. * config.in: 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 returned 2017-02-24 Maciej W. Rozycki * readelf.c (process_version_sections) : Make `isum' unsigned. : Likewise. 2017-02-24 Maciej W. Rozycki * readelf.c (process_version_sections) : 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 DW_MACRO_GNU_*. 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 DW_AT_call_target_clobbered. 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 .debug_rnglists. * 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 ranges_offset. (display_debug_ranges): Use dwarf_vma for ranges_offset, offset and base_address. 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) : Print a new line between the heading and the first version definition entry. 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 loaded. 2017-02-17 Nick Clifton PR binutils/21156 * readelf.c (find_section_in_set): Test for invalid section indicies. 2017-02-17 Nick Clifton * readelf.c (get_section_type_name): Add decoding of GNU section types. 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 pairs. (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 auxillary 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 located. (nm): Likewise. 2017-01-23 Nick Clifton * MAINTAINERS: Add Bernd to Past Maintainers section. (SCORE): Remove Mei Ligang as maintainer. Add to Past Maintainers section. 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. source. * 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 function. (main): Set the value of the last_file parameter when calling display_file. 2017-01-09 Alan Modra * readelf.c (process_section_headers): Correct .rel.dyn/.rela.dyn comment. 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 End: