3 * NEWS: Mention C99 requirement.
4 * README: Likewise. Modernise examples and "Reporting bugs".
8 * configure.ac: Assume long long is available. Don't test for
9 strings.h, stdlib.h, limits.h, locale.h, or wchar.h. Check
10 inttypes.h, stdint.h, sys/stat.h and sys/types.h. Don't check for
11 strcoll, setlocale, setmode or location of time_t. Don't check
12 for fprintf, getenv, snprintf, strnlen, strstr or vsnprintf decls.
13 (AC_ISC_POSIX, AXC_HEADER_STRING, AC_FUNC_ALLOCA): Don't invoke.
14 * sysdep.h: Don't include alloca-conf.h, include config.h instead.
15 Test HAVE_SYS_TYPES_H and reorder includes. Include limits.h,
16 locale.h, string.h and stdlib.h unconditionally. Remove various
17 fallback declarations. Assume long long is available.
18 * addr2line.c: Don't test HAVE_SETLOCALE.
20 * coffdump.c: Likewise.
21 * dlltool.c: Likewise.
22 * dllwrap.c: Likewise.
23 * elfedit.c: Likewise.
25 * objcopy.c: Likewise.
26 * objdump.c: Likewise.
27 * readelf.c: Likewise.
30 * strings.c: Likewise.
31 * sysdump.c: Likewise.
33 * windres.c: Likewise.
34 * bucomm.c: Don't test HAVE_TIME_T_IN_TIME_H or HAVE_TIME_T_IN_TYPES_H.
35 * dwarf.c: Include limits.h unconditionally. Assume long long
37 * nm.c: Don't test HAVE_STRCOLL.
38 * readelf.c: Don't test HAVE_WCHAR_H.
39 * strings.c: Assume long long is available.
40 * syslex.l: Include string.h unconditionally.
41 * aclocal.m4: Regenerate.
42 * config.in: Regenerate.
43 * configure: Regenerate.
44 * Makefile.in: Regenerate.
45 * doc/Makefile.in: Regenerate.
49 * elfcomm.h (strneq): Remove strneq and use startswith.
50 * readelf.c (ia64_process_unwind): Likewise.
51 (process_note): Likewise.
55 * dllwrap.c: Use startswith function.
56 * objcopy.c (is_dwo_section): Likewise.
57 (handle_remove_section_option): Likewise.
58 (copy_main): Likewise.
59 * objdump.c (is_significant_symbol_name): Likewise.
63 * dwarf.c (display_debug_lines_raw): Replace const_strneq with
65 (display_debug_lines_decoded): Likewise.
66 (display_debug_links): Likewise.
67 * elfcomm.c (setup_archive): Likewise.
68 * elfcomm.h (const_strneq): Likewise.
69 * readelf.c (process_section_headers): Likewise.
70 (slurp_ia64_unwind_table): Likewise.
71 (slurp_hppa_unwind_table): Likewise.
72 (decode_arm_unwind): Likewise.
73 (display_debug_section): Likewise.
74 (process_note): Likewise.
78 * sysdep.h (POISON_BFD_BOOLEAN): Define.
79 * addr2line.c, * ar.c, * arsup.c, * bfdtest2.c, * binemul.c,
80 * binemul.h, * bucomm.c, * bucomm.h, * budbg.h, * coffgrok.c,
81 * debug.c, * debug.h, * dlltool.c, * dwarf.c, * dwarf.h,
82 * elfedit.c, * emul_aix.c, * mclex.c, * nm.c, * objcopy.c,
83 * objdump.c, * od-macho.c, * prdbg.c, * rdcoff.c, * rddbg.c,
84 * readelf.c, * rename.c, * stabs.c, * strings.c, * windint.h,
85 * windmc.c, * windmc.h, * windres.c, * winduni.c,
86 * wrstabs.c: Replace bfd_boolean with bool, FALSE with false,
87 and TRUE with true throughout.
91 * coffdump.c: Include stdint.h in place of bfd_stdint.h.
96 * prdbg.c (pr_function_type): Replace LITSTTCPY with strcpy.
100 * dlltool.c (main): Don't use "boolean_condition ? TRUE : FALSE".
101 * dwarf.c (read_and_display_attr_value): Likewise.
102 (display_debug_str_offsets): Likewise.
103 * objdump.c (dump_bfd): Likewise.
104 * readelf.c (dump_section_as_strings): Likewise.
105 (dump_section_as_bytes): Likewise.
109 * objdump.c (process_links): Use type int.
110 * readelf.c (request_dump): Don't increment do_dump, set it.
111 * windint.h (target_is_bigendian): Use type bfd_boolean.
112 * windmc.c (target_is_bigendian): Likewise.
113 * windres.c (target_is_bigendian): Likewise.
117 * dlltool.c (scan_drectve_symbols): Replace usage of CONST_STRNEQ
119 * emul_aix.c (ar_emul_aix_parse_arg): Likewise.
120 * objcopy.c (is_mergeable_note_section): Likewise.
121 * objdump.c (dump_dwarf_section): Likewise.
122 * prdbg.c (pr_method_type): Likewise.
123 (pr_class_baseclass): Likewise.
124 (tg_class_baseclass): Likewise.
125 * readelf.c (process_lto_symbol_tables): Likewise.
126 * stabs.c (ULLHIGH): Likewise.
127 (parse_stab_argtypes): Likewise.
128 (stab_demangle_function_name): Likewise.
132 * readelf.c (get_machine_name): Add EM_INTELGT.
137 * readelf.c (dump_section_as_strings): Mention separate filename.
138 (dump_section_as_bytes): Likewise.
139 (dump_section_as_ctf): Likewise.
140 (initialise_dumkps_byname): Only issue a warning for missing
141 sections if processing the main file.
142 (process_section_contents): Only issue a warning for unsumped
143 section numbers in the main file.
144 (initialise_dump_sects): New function. Contains code extracted
146 (process_object): ... here. Also call initialise_dump_sects for
152 * readelf.c (display_debug_section): Also retain .debug_addr
158 * readelf.c (process_section_contents): Only dump debug
159 information for separate files unless process_links is enabled.
160 (process_object): Always call process_section_contents for
166 * nm.c (FORMAT_JUST_SYMBOLS): Define.
167 (struct optput_fns): Add entry for FORMAT_JUST_SYMBOLS.
168 (long_options): Add just-symbols.
169 (set_output_format): Add support for just-symbols.
170 (get_print_format): Likewise.
171 (do_not_print_object_filename): New function.
172 (do_not_print_archive_filename): New function.
173 (do_not_print_archive_member): New function.
174 (do_not_print_symbol_filename): New function.
175 (just_print_symbol_name): New function.
176 (main): Handle --just-symbols.
177 * NEWS: Mention the new feature.
178 * doc/binutils.texi: Document the new feature.
182 * od-xcoff.c: Replace RTB by TRL entry.
187 * readelf.c (get_note_type): Handle NT_RISCV_CSR.
192 * readelf.c (get_note_type): Handle NT_GDB_TDESC.
197 * dwarf.c (display_debug_macro): Handle the displaying of
198 DW_MACRO_define_strp and DW_MACRO_undef_strp in v4
199 .debug_macro.dwo sections.
204 * objdump.c (process_links): New variable.
205 (usage): Add --process-links.
206 (long_options): Likewise.
207 (dump_bfd): Stop processing once the bfd has been loaded unless
208 this is the main file or process_links has been enabled.
209 (main): Handle the process-links option.
210 * readelf.c (process_links): New variable.
211 (struct filedata): Add is_separate field.
212 (options): Add --process-links.
214 (parse_args): Likewise.
215 (process_file_header): Include the filename when dumping
216 information for separate debuginfo files.
217 (process_program_headers): Likewise.
218 (process_section_headers): Likewise.
219 (process_section_groups): Likewise.
220 (process_relocs): Likewise.
221 (process_dynamic_section): Likewise.
222 (process_version_sections): Likewise.
223 (display_lto_symtab): Likewise.
224 (process_symbol_table): Likewise.
225 (process_syminfo): Likewise.
226 (initialise_dumps_by_name): Likewise.
227 (process_section_contents): Likewise.
228 (process_notes_at): Likewise.
229 (process_notes): Likewise.
230 (open_file): Add is_separate parameter. Use to initialise the
231 is_separate field in the filedata structure.
232 (open_deug): Update call to open_file.
233 (process_object): Add processing of the contents of separate
234 debuginfo files, gated by the process_links variable.
235 (process_archive): Update call to open_file.
236 (process_file): Initialise the is_separate field in the filedata
238 * dwarf.c (load_separate_debug_info_file): Only report the
239 loading of a separate file if debug links are being dumped.
240 * objcopy.c (keep_section_symbols): New variable.
241 (enum command_line_switch): Add OPTION_KEEP_SYMBOLS.
242 (strip_options): Add keep-section-symbols.
243 (copy_options): Likewise.
244 (copy_usage): Likewise.
245 (strip_usage): Likewise.
246 (copy_object): Keep section symbols if requested by command line
248 (strip_main): Handle --keep-section-symbols.
249 (copy_main): Likewise.
250 * doc/binutils.texi: Document the new options.
251 * NEWS: Mention the new features.
252 * testsuite/binutils-all/compress.exp (test_gnu_debuglink):
253 Update options passed to objdump. Use diff rather than cmp to
254 compare the dumped data.
255 * testsuite/binutils-all/objdump.WK2: Update regexp.
256 * testsuite/binutils-all/objdump.WK3: Update regexp.
257 * testsuite/binutils-all/objdump.exp: Use --process-links
258 instead of --dwarf=follow-links.
259 * testsuite/binutils-all/readelf.exp (readelf_test): Include
260 readelf's output in the log when the test fails.
261 Add the -P option to the -wKis test.
262 * testsuite/binutils-all/readelf.wKis: Update expected output.
267 * objcopy.c (filter_symbols): Apply --weaken to undefined symbols.
268 * NEWS: Mention feature.
273 * dwarf.c (load_separate_debug_info): Issue warning only if
274 do_debug_links is set.
275 * testsuite/binutils-all/compress.exp: Run objdump and readelf
276 with missing debug file.
281 * doc/binutils.texi: Add nm --with-symbol-versions and
282 --without-symbol-versions documentation.
283 * nm.c (with_symbol_versions): New variable.
284 (enum long_option_values): Delete OPTION_WITH_SYMBOL_VERSIONS.
285 (long_options): Make --with-symbol-versions entry twiddle the flag.
286 Add --without-symbol-versions.
287 (print_symname): Strip version when !with_symbol_versions. Add
288 dynamic version info under control of with_symbol_versions.
289 (main): Remove OPTION_WITH_SYMBOL_VERSIONS case.
294 * readelf.c (quiet): New option flag.
295 (enum long_option_values): New enum to hold long option value.
296 (long_options): Add --quiet.
297 (usage): Mention --quiet.
298 (display_rel_file): If quiet is enabled, suppress "no symbols".
299 (main): Handle the new option.
300 * NEWS: Mention --quiet.
301 * docs/binutils.texi: Document --quiet.
305 * dwarf.c (display_debug_addr): Handle dwarf-5 .debug_addr bits.
310 * dwarf.c: (skip_attr_bytes): Add support for DW_FORM_str* and
312 (read_and_display_attr_value): Likewise.
316 * dwarf.c (get_type_abbrev_from_form): Accept but ignore sup
318 (read_and_display_attr_value): Handle sup forms.
319 (display_debug_sup): New function. Displays the contents of a
321 (load_debug_sup_file): New function. Loads the contents of a file
322 referenced by a .debug_sup section.
323 (check_for_and_load_links): Call load_debug_sup_file.
324 (debug_displays): Add entry for .debug_sup.
325 * dwarf.h (enum dwarf_section_display_enum): Add debug_sup.
326 * readelf.c (process_section_headers): Add support for debug_sup.
327 * doc/debug.options.texi: Note that the =links option will display
328 the contents of .debug_sup sections.
329 * NEWS: Mention the new support.
334 * rename.c (simple_copy): Mark target_stat ATTRIBUTE_UNUSED.
339 * od-elf32_avr.c (elf32_avr_get_memory_usage): Check for overflows
340 when adding together the section sizes.
344 * objcopy.c (merge_gnu_build_notes): Remove support for v1/v2 GNU
346 * readelf.c (print_gnu_build_attribute_description): Likewise.
352 * bucomm.h (smart_rename): Update prototype.
353 * rename.c (smart_rename): Add fromfd and preserve_dates params.
354 Pass fromfd and target_stat to simple_copy. Call set_times
356 (simple_copy): Accept fromfd rather than from filename. Add
357 target_stat param. Rewind fromfd rather than opening. Open
358 "to" file without O_CREAT. Try to preserve S_ISUID and S_ISGID.
359 * ar.c (write_archive): Rename ofd to tmpfd. Dup tmpfd before
360 closing output temp file, and pass tmpfd to smart_rename.
361 * arsup.c (temp_fd): Rename from real_fd.
362 (ar_save): Dup temp_fd and pass to smart_rename.
363 * objcopy.c (strip_main, copy_main): Likewise, and pass
369 * rename.c: Tidy throughout.
370 (smart_rename): Always copy. Remove windows specific code.
374 * testsuite/lib/binutils-common.exp: Whitespace fixes throughout.
375 (run_dump_test): Fail if expecting errors from a file like we do
376 for error strings, if no error is seen.
380 * testsuite/binutils-all/readelf.exp (pr26548): Run for 32-bit too.
384 * ar.c (write_archive): Remove TARGET_STAT. Adjust call to
386 * arsup.c (ar_save): Likewise.
387 * objcopy (strip_main): Don't copy TMPFD. Don't set times on
388 temporary file and adjust call to SMART_RENAME.
389 (copy_main): Likewise.
390 * rename.c [!S_ISLNK]: Remove definitions.
391 (try_preserve_permissions): Remove function.
392 (smart_rename): Remove FD, PRESERVE_DATES arguments. Use
393 rename system call only if TO does not exist.
394 * bucomm.h (smart_rename): Adjust declaration.
398 * objcopy.c (merge_gnu_build_notes): Handle notes with a start
399 address that is higher than the end address.
403 * dwarf.c: Include limits.h.
404 (CHAR_BIT): Provide backup define.
405 (read_leb128): Use CHAR_BIT to size "result" in bits. Correct
406 signed overflow checking.
407 * testsuite/binutils-all/pr26548.s,
408 * testsuite/binutils-all/pr26548.d,
409 * testsuite/binutils-all/pr26548e.d: New tests.
410 * testsuite/binutils-all/readelf.exp: Run them.
411 (readelf_test): Drop unused "xfails" parameter. Update all uses.
415 * dwarf.c (process_debug_info): Initialize "dwo_id".
419 * objdump.c (load_specific_debug_section): Don't call
420 bfd_cache_section_contents. Rearrange so that
421 bfd_get_full_section_contents is not called on path where
422 bfd_simple_get_relocated_section_contents is called.
423 Don't set section->user_data.
424 (free_debug_section): Always free section->start. Don't twiddle
426 * readelf.c (load_specific_debug_section): Don't set user_data.
427 * dwarf.h (struct dwarf_section): Remove use_data field.
428 * dwarf.c (NO_ABBREVS, ABBREV): Adjust to suit.
432 * testsuite/binutils-all/compress.exp: Remove nds32 xfails.
433 * testsuite/binutils-all/objdump.exp: Likewise.
437 * objdump.c (slurp_symtab): Don't add an extra entry for NULL
439 (slurp_dynamic_symtab): Likewise.
440 (dump_bfd): Formatting. Copy terminating NULL from extra_syms.
444 * Makefile.in: Regenerate.
445 * doc/Makefile.in: Regenerate.
449 * aclocal.m4: Regenerate.
453 * configure.ac (follow-debug-links): Add option to enable or
454 disable the following of debug links by default. Set the
455 default for the option to be 'follow'.
456 * dwarf.c (do_follow_links): Initialise with DEFAULT_FOR_FOLLOW_LINKS.
457 (dwarf_select_sections_by_names): Add no-follow-links option.
458 (dwarf_select_sections_by_letter): Add 'N' option.
459 * objdump.c (usage): Add conditional text describing the
461 (slurp_symtab): Ensure that there is a NULL entry at the end
463 (slurp_dynamic_symtab): Likewise.
464 (dump_bfd): When extending the symbol table, ensure that there
465 is still a NULL entry at the end.
466 * readelf.c (usage): Add conditional text describing the
468 * doc/binutils.texi: Update documentation for objcopy and
470 * doc/debug.options.texi: Update documentation of the
472 * config.in: Regenerate.
473 * configure: Regenerate.
474 * testsuite/binutils-all/compress.exp: Add the -WN option to
475 objdump command lines that are not expecting to follow links.
476 * testsuite/binutils-all/readelf.exp: Add the
477 --debug-dump=no-follow-links option to tests that are not
478 expecting to follow debug links.
479 * NEWS: Mention the new behaviour.
483 * testsuite/binutils-all/objcopy.exp: Report "unsupported" when
484 gas or ld fails to build a testcase rather than "unresolved".
485 Report "fail" when readelf returns an error status rather than
487 * testsuite/binutils-all/ar.exp: Likewise.
488 * testsuite/binutils-all/compress.exp: Likewise.
489 * testsuite/binutils-all/readelf.exp: Likewise.
493 * testsuite/binutils-all/pr25662.s: Replace "a" with "aaa" and
494 "c" with "ccc" labels.
498 * dwarf.h (debug_info): Fix typo in comment.
502 * dwarf.c (display_debug_str_offsets): Handle multiple sets of
507 * dwarf.c (process_debug_info): Print DWO ID.
514 * od-elf32_avr.c (elf32_avr_get_note_section_contents): Formatting.
515 Use bfd_malloc_and_get_section.
516 (elf32_avr_get_note_desc): Formatting. Return descsz. Sanity
517 check namesz. Return NULL if descsz is too small. Ensure
518 string table is terminated.
519 (elf32_avr_get_device_info): Formatting. Add note_size param.
521 (elf32_avr_dump_mem_usage): Adjust to suit.
526 * dwarf.c (load_dwo_file): Handle case that name is absolute path.
531 * dwarf.c (display_debug_ranges): Filter range lists according to
537 * dwarf.c (get_type_abbrev_from_form): Handle DW_FORM_ref_sig8.
542 * dwarf.c (process_debug_info): Handling DW_UT_skeleton and
547 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Remove
552 * unwind-ia64.c (unw_print_xyreg): Don't leave output buffer
553 uninitialised on invalid input.
558 * rename.c (smart_rename): Test for existence and type of output
563 * MAINTAINERS: Remove Richard Henderson as the ALPHA maintainer.
568 * elfedit.c (check_file):
569 * bucomm.c (get_file_size): Fix typos in comments.
574 * arsup.c (ar_save): Use stat rather than lstat.
581 * ar.c: Don't include libbfd.h.
582 (write_archive): Replace xmalloc+strcpy with xstrdup. Use
583 bfd_stat rather than fstat on iostream. Move stat and fd tests
584 outside of _WIN32 ifdef. Delete skip_stat variable.
585 * arsup.c (temp_name, real_ofd): New static variables.
586 (ar_open): Use make_tempname and bfd_fdopenw.
587 (ar_save): Adjust to suit ar_open changes. Move stat output
589 * objcopy.c: Don't include libbfd.h.
590 (copy_file): Use bfd_stat.
595 * readelf.c (process_section_headers): Add 'R' and 'D' to
597 * testsuite/binutils-all/retain1a.d: Updated.
601 * README-how-to-make-a-release: Small updates after the 2.35.2
607 * windres.c (quot): Use double quotes to protect strings on
613 * bucomm.c (get_file_size): Add code to handle /dev/null on
615 * elfedit.c (check_file): Likewise.
619 * objcopy.c (copy_main): Remove conditional control of the calls
620 to free, simplifying the code and making it easier to detect
625 * objcopy.c (copy_main): Fix a double free happening when both
626 --localize-symbols and --globalize-symbols options are invoked
631 * README-how-to-make-a-release: Minor updates after the 2.36 release.
635 * readelf.c (uncompress_section_contents): Tidy inflateEnd result test.
640 * readelf.c (uncompress_section_contents): Always call inflateEnd.
644 * MAINTAINERS: Update my email address.
648 * po/sv.po: Updated Swedish translation.
652 * Makefile.in: Regenerate.
653 * doc/Makefile.in: Regenerate.
658 * dlltool.c (i386_trampoline): Adjust %rsp immediately on entry
660 (i386_x64_trampoline): Add SEH annotations.
661 (struct mac): Add how_seh field.
662 (make_delay_head): If how_set field is true add SEh instructions.
667 * configure.ac: Use GNU_MAKE_JOBSERVER.
668 * aclocal.m4: Regenerated.
669 * configure: Likewise.
673 * po/fr.po: Updated French translation.
678 * configure: Regenerated.
682 * po/pt.po: Updated Portuguese translation.
683 * po/sr.po: Updated Serbian translation.
684 * po/uk.po: Updated Ukranian translation.
688 * configure: Regenerated.
692 * configure: Regenerate.
693 * po/binutils.pot: Regenerate.
697 * 2.36 release branch crated.
698 * README-how-to-make-a-release: Add note about updating Makefiles
700 * BRANCHES: Add binutils-2.36-branch.
704 * configure: Regenerate.
708 * configure: Regenerate.
713 * objcopy.c (copy_object): Handle section symbols for
714 non-relocatable inputs.
715 * testsuite/binutils-all/readelf.exp (readelf_test): Check
716 is_elf_unused_section_symbols.
717 * testsuite/binutils-all/readelf.s-64: Updated.
718 * testsuite/binutils-all/readelf.ss: Likewise.
719 * testsuite/binutils-all/readelf.ss-64: Likewise.
720 * testsuite/binutils-all/readelf.s-64-unused: New file.
721 * testsuite/binutils-all/readelf.ss-64-unused: Likewise.
722 * testsuite/binutils-all/readelf.ss-unused: Likewise.
723 * testsuite/lib/binutils-common.exp
724 (is_elf_unused_section_symbols): New proc.
728 * binutils/readelf.c: Correct grammar in comment.
732 * coffgrok.c (do_type): Correct spelling of auxiliary in errors.
733 * doc/binutils.texi: Correct grammar.
734 * readelf.c (process_version_sections): Correct spelling of auxiliary
736 * testsuite/binutils-all/vax/objdump.exp: Comment grammar fix.
740 Update year range in copyright notice of all files.
742 For older changes see ChangeLog-2020
744 Copyright (C) 2021 Free Software Foundation, Inc.
746 Copying and distribution of this file, with or without modification,
747 are permitted in any medium without royalty provided the copyright
748 notice and this notice are preserved.
754 version-control: never