2021-03-04 Nick Clifton PR 27478 * objdump.c (process_links): New variable. (usage): Add --process-links. (long_options): Likewise. (dump_bfd): Stop processing once the bfd has been loaded unless this is the main file or process_links has been enabled. (main): Handle the process-links option. * readelf.c (process_links): New variable. (struct filedata): Add is_separate field. (options): Add --process-links. (usage): Likewise. (parse_args): Likewise. (process_file_header): Include the filename when dumping information for separate debuginfo files. (process_program_headers): Likewise. (process_section_headers): Likewise. (process_section_groups): Likewise. (process_relocs): Likewise. (process_dynamic_section): Likewise. (process_version_sections): Likewise. (display_lto_symtab): Likewise. (process_symbol_table): Likewise. (process_syminfo): Likewise. (initialise_dumps_by_name): Likewise. (process_section_contents): Likewise. (process_notes_at): Likewise. (process_notes): Likewise. (open_file): Add is_separate parameter. Use to initialise the is_separate field in the filedata structure. (open_deug): Update call to open_file. (process_object): Add processing of the contents of separate debuginfo files, gated by the process_links variable. (process_archive): Update call to open_file. (process_file): Initialise the is_separate field in the filedata structure. * dwarf.c (load_separate_debug_info_file): Only report the loading of a separate file if debug links are being dumped. * objcopy.c (keep_section_symbols): New variable. (enum command_line_switch): Add OPTION_KEEP_SYMBOLS. (strip_options): Add keep-section-symbols. (copy_options): Likewise. (copy_usage): Likewise. (strip_usage): Likewise. (copy_object): Keep section symbols if requested by command line option. (strip_main): Handle --keep-section-symbols. (copy_main): Likewise. * doc/binutils.texi: Document the new options. * NEWS: Mention the new features. * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Update options passed to objdump. Use diff rather than cmp to compare the dumped data. * testsuite/binutils-all/objdump.WK2: Update regexp. * testsuite/binutils-all/objdump.WK3: Update regexp. * testsuite/binutils-all/objdump.exp: Use --process-links instead of --dwarf=follow-links. * testsuite/binutils-all/readelf.exp (readelf_test): Include readelf's output in the log when the test fails. Add the -P option to the -wKis test. * testsuite/binutils-all/readelf.wKis: Update expected output. 2021-03-03 Alan Modra PR 27493 * objcopy.c (filter_symbols): Apply --weaken to undefined symbols. * NEWS: Mention feature. 2021-03-01 H.J. Lu PR binutils/27486 * dwarf.c (load_separate_debug_info): Issue warning only if do_debug_links is set. * testsuite/binutils-all/compress.exp: Run objdump and readelf with missing debug file. 2021-03-01 Alan Modra PR 27128 * doc/binutils.texi: Add nm --with-symbol-versions and --without-symbol-versions documentation. * nm.c (with_symbol_versions): New variable. (enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS. (long_options): Make --with-symbol-versions entry twiddle the flag. Add --without-symbol-versions. (print_symname): Strip version when !with_symbol_versions. Add dynamic version info under control of with_symbol_versions. (main): Remove OPTION_WITH_SYMBOL_VERSIONS case. 2021-02-26 Fangrui Song PR 27408 * readelf.c (quiet): New option flag. (enum long_option_values): New enum to hold long option value. (long_options): Add --quiet. (usage): Mention --quiet. (display_rel_file): If quiet is enabled, suppress "no symbols". (main): Handle the new option. * NEWS: Mention --quiet. * docs/binutils.texi: Document --quiet. 2021-02-26 Tom de Vries * dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits. 2021-02-26 Tom de Vries PR 27390 * dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and DW_FORM_addrx*. (read_and_display_attr_value): Likewise. 2021-02-25 Nick Clifton * dwarf.c (get_type_abbrev_from_form): Accept but ignore sup forms. (read_and_display_attr_value): Handle sup forms. (display_debug_sup): New function. Displays the contents of a .debug_sup section. (load_debug_sup_file): New function. Loads the contents of a file referenced by a .debug_sup section. (check_for_and_load_links): Call load_debug_sup_file. (debug_displays): Add entry for .debug_sup. * dwarf.h (enum dwarf_section_display_enum): Add debug_sup. * readelf.c (process_section_headers): Add support for debug_sup. * doc/debug.options.texi: Note that the =links option will display the contents of .debug_sup sections. * NEWS: Mention the new support. 2021-02-25 Alan Modra PR 27456 * rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED. 2021-02-24 Nick Clifton PR 27285 * od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows when adding together the section sizes. 2021-02-24 Nick Clifton * objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU build notes. * readelf.c (print_gnu_build_attribute_description): Likewise. 2021-02-24 Alan Modra Siddhesh Poyarekar PR 27456 * bucomm.h (smart_rename): Update prototype. * rename.c (smart_rename): Add fromfd and preserve_dates params. Pass fromfd and target_stat to simple_copy. Call set_times when preserve_dates. (simple_copy): Accept fromfd rather than from filename. Add target_stat param. Rewind fromfd rather than opening. Open "to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID. * ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before closing output temp file, and pass tmpfd to smart_rename. * arsup.c (temp_fd): Rename from real_fd. (ar_save): Dup temp_fd and pass to smart_rename. * objcopy.c (strip_main, copy_main): Likewise, and pass preserve_dates. 2021-02-24 Alan Modra PR 27456 * rename.c: Tidy throughout. (smart_rename): Always copy. Remove windows specific code. 2021-02-20 Alan Modra * testsuite/lib/binutils-common.exp: Whitespace fixes throughout. (run_dump_test): Fail if expecting errors from a file like we do for error strings, if no error is seen. 2021-02-19 Alan Modra * testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too. 2021-02-19 Siddhesh Poyarekar * ar.c (write_archive): Remove TARGET_STAT. Adjust call to SMART_RENAME. * arsup.c (ar_save): Likewise. * objcopy (strip_main): Don't copy TMPFD. Don't set times on temporary file and adjust call to SMART_RENAME. (copy_main): Likewise. * rename.c [!S_ISLNK]: Remove definitions. (try_preserve_permissions): Remove function. (smart_rename): Remove FD, PRESERVE_DATES arguments. Use rename system call only if TO does not exist. * bucomm.h (smart_rename): Adjust declaration. 2021-02-18 Nick Clifton * objcopy.c (merge_gnu_build_notes): Handle notes with a start address that is higher than the end address. 2021-02-17 Alan Modra * dwarf.c: Include limits.h. (CHAR_BIT): Provide backup define. (read_leb128): Use CHAR_BIT to size "result" in bits. Correct signed overflow checking. * testsuite/binutils-all/pr26548.s, * testsuite/binutils-all/pr26548.d, * testsuite/binutils-all/pr26548e.d: New tests. * testsuite/binutils-all/readelf.exp: Run them. (readelf_test): Drop unused "xfails" parameter. Update all uses. 2021-02-16 Jan Beulich * dwarf.c (process_debug_info): Initialize "dwo_id". 2021-02-15 Alan Modra * objdump.c (load_specific_debug_section): Don't call bfd_cache_section_contents. Rearrange so that bfd_get_full_section_contents is not called on path where bfd_simple_get_relocated_section_contents is called. Don't set section->user_data. (free_debug_section): Always free section->start. Don't twiddle section flags. * readelf.c (load_specific_debug_section): Don't set user_data. * dwarf.h (struct dwarf_section): Remove use_data field. * dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit. 2021-02-15 Alan Modra * testsuite/binutils-all/compress.exp: Remove nds32 xfails. * testsuite/binutils-all/objdump.exp: Likewise. 2021-02-14 Alan Modra * objdump.c (slurp_symtab): Don't add an extra entry for NULL to the symbol array. (slurp_dynamic_symtab): Likewise. (dump_bfd): Formatting. Copy terminating NULL from extra_syms. 2021-02-14 Alan Modra * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. 2021-02-13 Mike Frysinger * aclocal.m4: Regenerate. 2021-02-12 Nick Clifton * configure.ac (follow-debug-links): Add option to enable or disable the following of debug links by default. Set the default for the option to be 'follow'. * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS. (dwarf_select_sections_by_names): Add no-follow-links option. (dwarf_select_sections_by_letter): Add 'N' option. * objdump.c (usage): Add conditional text describing the follow links option. (slurp_symtab): Ensure that there is a NULL entry at the end of the symbol table. (slurp_dynamic_symtab): Likewise. (dump_bfd): When extending the symbol table, ensure that there is still a NULL entry at the end. * readelf.c (usage): Add conditional text describing the follow links option. * doc/binutils.texi: Update documentation for objcopy and readelf. * doc/debug.options.texi: Update documentation of the follow-links option. * config.in: Regenerate. * configure: Regenerate. * testsuite/binutils-all/compress.exp: Add the -WN option to objdump command lines that are not expecting to follow links. * testsuite/binutils-all/readelf.exp: Add the --debug-dump=no-follow-links option to tests that are not expecting to follow debug links. * NEWS: Mention the new behaviour. 2021-02-12 Alan Modra * testsuite/binutils-all/objcopy.exp: Report "unsupported" when gas or ld fails to build a testcase rather than "unresolved". Report "fail" when readelf returns an error status rather than "unresolved". * testsuite/binutils-all/ar.exp: Likewise. * testsuite/binutils-all/compress.exp: Likewise. * testsuite/binutils-all/readelf.exp: Likewise. 2021-02-12 Alan Modra * testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and "c" with "ccc" labels. 2021-02-12 Tom de Vries * dwarf.h (debug_info): Fix typo in comment. 2021-02-12 Tom de Vries * dwarf.c (display_debug_str_offsets): Handle multiple sets of entries. 2021-02-12 Tom de Vries * dwarf.c (process_debug_info): Print DWO ID. 2021-02-11 Alan Modra PR 27290 PR 27293 PR 27295 * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting. Use bfd_malloc_and_get_section. (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity check namesz. Return NULL if descsz is too small. Ensure string table is terminated. (elf32_avr_get_device_info): Formatting. Add note_size param. Sanity check note. (elf32_avr_dump_mem_usage): Adjust to suit. 2021-02-10 Tom de Vries PR binutils/27391 * dwarf.c (load_dwo_file): Handle case that name is absolute path. 2021-02-10 Tom de Vries PR binutils/27371 * dwarf.c (display_debug_ranges): Filter range lists according to section. 2021-02-09 Tom de Vries PR binutils/27370 * dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8. 2021-02-09 Tom de Vries PR binutils/27386 * dwarf.c (process_debug_info): Handling DW_UT_skeleton and DW_UT_split_compile. 2021-02-09 Alan Modra * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove symbianelf. 2021-02-07 Alan Modra * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer uninitialised on invalid input. 2021-02-06 Alan Modra PR 27349 * rename.c (smart_rename): Test for existence and type of output file with lstat. 2021-02-05 Nick Clifton * MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer. 2021-02-05 Eli Zaretskii PR 27252 * elfedit.c (check_file): * bucomm.c (get_file_size): Fix typos in comments. 2021-02-05 Alan Modra PR 27345 * arsup.c (ar_save): Use stat rather than lstat. 2021-02-03 Alan Modra PR 27270 PR 27284 PR 26945 * ar.c: Don't include libbfd.h. (write_archive): Replace xmalloc+strcpy with xstrdup. Use bfd_stat rather than fstat on iostream. Move stat and fd tests outside of _WIN32 ifdef. Delete skip_stat variable. * arsup.c (temp_name, real_ofd): New static variables. (ar_open): Use make_tempname and bfd_fdopenw. (ar_save): Adjust to suit ar_open changes. Move stat output of _WIN32 ifdef. * objcopy.c: Don't include libbfd.h. (copy_file): Use bfd_stat. 2021-02-02 H.J. Lu PR binutils/27281 * readelf.c (process_section_headers): Add 'R' and 'D' to "Key to Flags:". * testsuite/binutils-all/retain1a.d: Updated. 2021-01-30 Nick Clifton * README-how-to-make-a-release: Small updates after the 2.35.2 release. 2021-01-28 Eli Zaretskii PR 4356 * windres.c (quot): Use double quotes to protect strings on Windows platforms. 2021-01-28 Eli Zaretskii PR 27252 * bucomm.c (get_file_size): Add code to handle /dev/null on Windows systems. * elfedit.c (check_file): Likewise. 2021-01-27 Nick Clifton * objcopy.c (copy_main): Remove conditional control of the calls to free, simplifying the code and making it easier to detect typos. 2021-01-26 Frederic Cambus * objcopy.c (copy_main): Fix a double free happening when both --localize-symbols and --globalize-symbols options are invoked together. 2021-01-24 Nick Clifton * README-how-to-make-a-release: Minor updates after the 2.36 release. 2021-01-16 Alan Modra * readelf.c (uncompress_section_contents): Tidy inflateEnd result test. 2021-01-15 Alan Modra PR 26539 * readelf.c (uncompress_section_contents): Always call inflateEnd. 2021-01-14 Alexandre Oliva * MAINTAINERS: Update my email address. 2021-01-14 Nick Clifton * po/sv.po: Updated Swedish translation. 2021-01-13 Alan Modra * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. 2021-01-13 Zebediah Figura PR 27037 * dlltool.c (i386_trampoline): Adjust %rsp immediately on entry and before exit. (i386_x64_trampoline): Add SEH annotations. (struct mac): Add how_seh field. (make_delay_head): If how_set field is true add SEh instructions. 2021-01-12 H.J. Lu PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. 2021-01-12 Nick Clifton * po/fr.po: Updated French translation. 2021-01-11 H.J. Lu PR ld/27173 * configure: Regenerated. 2021-01-11 Nick Clifton * po/pt.po: Updated Portuguese translation. * po/sr.po: Updated Serbian translation. * po/uk.po: Updated Ukranian translation. 2021-01-09 H.J. Lu * configure: Regenerated. 2021-01-09 Nick Clifton * configure: Regenerate. * po/binutils.pot: Regenerate. 2021-01-09 Nick Clifton * 2.36 release branch crated. * README-how-to-make-a-release: Add note about updating Makefiles and libtool files. * BRANCHES: Add binutils-2.36-branch. 2021-01-09 Alan Modra * configure: Regenerate. 2021-01-07 Samuel Thibault * configure: Regenerate. 2021-01-07 H.J. Lu PR 27109 * objcopy.c (copy_object): Handle section symbols for non-relocatable inputs. * testsuite/binutils-all/readelf.exp (readelf_test): Check is_elf_unused_section_symbols. * testsuite/binutils-all/readelf.s-64: Updated. * testsuite/binutils-all/readelf.ss: Likewise. * testsuite/binutils-all/readelf.ss-64: Likewise. * testsuite/binutils-all/readelf.s-64-unused: New file. * testsuite/binutils-all/readelf.ss-64-unused: Likewise. * testsuite/binutils-all/readelf.ss-unused: Likewise. * testsuite/lib/binutils-common.exp (is_elf_unused_section_symbols): New proc. 2021-01-06 Reuben Thomas * binutils/readelf.c: Correct grammar in comment. 2021-01-01 Nicolas Boulenguez * coffgrok.c (do_type): Correct spelling of auxiliary in errors. * doc/binutils.texi: Correct grammar. * readelf.c (process_version_sections): Correct spelling of auxiliary in warning. * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix. 2021-01-01 Alan Modra Update year range in copyright notice of all files. For older changes see ChangeLog-2020 Copyright (C) 2021 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: