4 * nm.c (print_symname): Append version string to symbol name
5 before printing the lot under control of "form". Append version
6 to demangled names too.
10 * elfedit (usage): Pass osabi to reconcat.
14 * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Pass
15 $gcc_gas_flag to target_compile.
19 * readelf.c (INT64_MIN): Define if not already defined.
20 (print_vms_time): Catch 64-bit overflow when converting from
21 vms time to posix time. Don't segfault if gmtime returns NULL.
25 * NEWS: Mention LAM_U48 and LAM_U57 support.
26 * elfedit.c (elf_x86_feature): Support lam_u48 and lam_u57.
27 (usage): Add lam_u48 and lam_u57.
28 * readelf.c (decode_x86_feature_1): Support LAM_U48 and LAM_U57.
29 * doc/binutils.texi: Update elfedit with lam_u48 and lam_u57
31 * testsuite/binutils-all/x86-64/lam-u48.d: New file.
32 * testsuite/binutils-all/x86-64/lam-u48.s: Likewise.
33 * testsuite/binutils-all/x86-64/lam-u57.d: Likewise.
34 * testsuite/binutils-all/x86-64/lam-u57.s: Likewise.
38 * readelf.c (get_dynamic_type): Handle DT_GNU_FLAGS_1.
39 (process_dynamic_section): Likewise.
43 * readelf.c (get_machine_name): Update list of e_machine values.
47 * ar.c (write_archive): Cast iostream pointer to FILE *.
48 * arsup.c (ar_save): Likewise.
49 * objcopy.c (copy_file): Likewise.
53 * objcopy.c (is_mergeable_note_section): Remove reference to
60 (write_archive) [!defined (_WIN32) || defined (__CYGWIN32__)]:
61 Initialize TARGET_STAT and OFD to pass to SMART_RENAME.
63 (ar_save) [defined (_WIN32) || defined (__CYGWIN32__)]:
65 * bucomm.h (smart_rename): Add new arguments to declaration.
67 (strip_main)[defined (_WIN32) || defined (__CYGWIN32__)]:
68 Initialize COPYFD and pass to SMART_RENAME.
69 (copy_main) [defined (_WIN32) || defined (__CYGWIN32__)]:
71 * rename.c (try_preserve_permissions): New function.
72 (smart_rename): Use it and add new arguments.
77 * objcopy.c (copy_file): New argument IN_STAT. Return stat of
79 (strip_main): Remove redundant stat calls. adjust copy_file
81 (copy_main): Likewise.
86 * bucomm.c (make_tempname): Add argument to return file
88 * bucomm.h (make_tempname): Likewise.
89 * ar.c: Include libbfd.h.
90 (write_archive): Adjust for change in make_tempname. Call
91 bfd_fdopenw instead of bfd_openw.
92 * objcopy.c: Include libbfd.h.
93 (copy_file): New argument OFD. Use bfd_fdopenw instead of
95 (strip_main): Adjust for change in make_tempname and
97 (copy_main): Likewise.
102 * README-how-to-make-a-release (point releases): Add a note to
103 update the milestone list on sourceware's bugzilla.
107 * dwarf.c (frame_display_row): Do without static variable "sloc".
108 (cu_tu_indexes_read): Move to file scope.
109 (free_debug_memory): Reset it here, along with level_type_signed.
110 Free and clear a number of other static variables.
111 * readelf.c (arm_attr_public_tag <table>): Constify, updating..
112 (arm_attr_tag_*): ..all these uses.
113 (process_mips_specific): Free "rels" on error path.
118 * windres.c (main): If the preprocessor name includes spaces,
119 ensure that it is quoted.
123 * testsuite/lib/binutils-common.exp (supports_noinit_section): New.
124 (supports_persistent_section): New.
128 * readelf.c (dump_section_as_ctf): Call ctf_arc_symsect_endianness.
132 * testsuite/binutils-all/nm.exp (ifunc): xfail more targets.
136 * readelf.c (dump_section_as_ctf): Use .dynsym and .dynstr, not
141 * objdump.c (dump_ctf): Report errors from ctf_archive_iter.
142 * readelf.c (dump_section_as_ctf): Likewise.
146 * objdump.c (dump_ctf): Use ctf_dict_open, not
147 ctf_arc_open_by_name.
148 * readelf.c (dump_section_as_ctf): Likewise.
152 * objdump.c (dump_ctf_errs): Rename ctf_file_t to ctf_dict_t.
153 (dump_ctf_archive_member): Likewise.
154 (dump_ctf): Likewise. Use ctf_dict_close, not ctf_file_close.
155 * readelf.c (dump_ctf_errs): Rename ctf_file_t to ctf_dict_t.
156 (dump_ctf_archive_member): Likewise.
157 (dump_section_as_ctf): Likewise. Use ctf_dict_close, not
163 * nm.c (ifunc_type_chars): New variable.
164 (long_options): Add --ifunc-chars.
165 (print_symbol): Use ifunc_type_chars for ifunc symbols.
166 (main): Handle the new option.
167 * doc/binutils.texi: Document the new option.
168 * configure.ac: Add --enable-f-for-ifunc-symbols option which
169 changes the default symbol displayed by nm.
170 * NEWS: Mention the new feature.
171 * testsuite/binutils-all/nm.exp: Test the new feature.
172 * config.in: Regenerate.
173 * configure: Regenerate.
178 * dllwrap.c (main): Deprecate and warn the use of dllwrap.
182 * testsuite/binutils-all/readelf-maskos-1a.d: Fix test for unrecognized
183 bit set in SHF_MASKOS range.
184 * testsuite/binutils-all/readelf-maskos-1b.d: Likewise.
185 * testsuite/binutils-all/readelf-maskos-unknown.s: New test.
189 * NEWS: Announce SHF_GNU_RETAIN support.
190 * readelf.c (get_elf_section_flags): Handle SHF_GNU_RETAIN.
191 Recognize SHF_GNU_RETAIN and SHF_GNU_MBIND only for supported OSABIs.
192 * testsuite/binutils-all/readelf.exp: Run new tests.
193 Don't run run_dump_test when there isn't an assembler available.
194 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Adjust
196 * testsuite/binutils-all/readelf-maskos-1a.d: New test.
197 * testsuite/binutils-all/readelf-maskos-1b.d: New test.
198 * testsuite/binutils-all/readelf-maskos.s: New test.
199 * testsuite/binutils-all/retain1.s: New test.
200 * testsuite/binutils-all/retain1a.d: New test.
201 * testsuite/binutils-all/retain1b.d: New test.
205 * ar.c (main): Place the libdeps record in the second archive
211 * dwarf.c (struct dwo_info): Add cu_offset field.
212 (add_dwo_info): Add cu_offset parameter. Record in new dwo_info
214 (add_dwo_name): Add cu_offset field.
215 (add_dwo_dir): Add cu_offset field.
216 (add_dwo_id): Add cu_offset field.
217 (read_and_display_attr_value): Pass cu_offset to dwo recording
219 (load_separate_debug_files): Accumulate name, dir and id values
220 and display once for each CU.
221 * testsuite/binutils-all/dwo.sL Use a separate CU for the second
223 * testsuite/binutils-all/readelf.k2: Update expected output.
227 * dwarf.c (display_debug_rnglists_list): Only bias the
228 DW_RLS_offset_pair with the base address.
232 * dwarf.c (skip_attr_bytes): Correctly handle DW_FORM_ref8.
233 (get_type_abbrev_from_form): Accept DW_FORM_ref8.
237 * Makefile.am (development.exp): Fix regexp.
238 * Makefile.in: Regenerate.
243 * dwarf.c (read_and_display_attr_value): In wide mode, display the
248 * elfedit (usage): Avoid false positive "may be used uninitialised".
253 * ar.c (main): Use plugin_target rather than "target" when
254 resetting libdeps_bfd target.
258 * elfedit.c: Include "libiberty.h".
259 (usage): Update help message.
263 * ar.c (long_options): Add --record-libdeps.
264 (usage): Mention the new option.
265 (decode_options): Handle the new option.
266 (replace_members): If necessary, create a bfd to hold the libdeps
268 * binemul.c (ar_emul_append_bfd): New function.
269 (ar_emul_replace_bfd): New function.
270 (ar_emul_default_append): Replace file_name and target arguments
271 with new_bfd argument.
272 (ar_emul_default_replace): Likewise.
273 * binemul.h: Update prototypes.
274 (struct bin_emulation_xfer_struct): Update fields.
275 * doc/binutils.texi: Document the new option.
276 * NEWS: Mention the new feature.
277 * emul_aix.c (ar_emul_aix_append): Update.
278 (ar_emul_aix_replace): Likewise.
279 * testsuite/binutils-all/ar.exp: Add test of new feature.
284 * readelf.c (decode_x86_isa): Handle
285 * GNU_PROPERTY_X86_ISA_1_BASELINE.
286 * testsuite/binutils-all/i386/empty.d: Updated.
287 * testsuite/binutils-all/i386/ibt.d: Likewise.
288 * testsuite/binutils-all/i386/pr21231a.d: Likewise.
289 * testsuite/binutils-all/i386/pr21231b.d: Likewise.
290 * testsuite/binutils-all/i386/shstk.d: Likewise.
291 * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
292 * testsuite/binutils-all/x86-64/empty.d: Likewise.
293 * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
294 * testsuite/binutils-all/x86-64/ibt.d: Likewise.
295 * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
296 * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
297 * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
298 * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
299 * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
300 * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
301 * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
302 * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
303 * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
304 * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
305 * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
306 * testsuite/binutils-all/x86-64/shstk.d: Likewise.
311 * dwarf.c (abbrev_list): Add abbrev_base.
312 (new_abbrev_list): Add an abbrev_base argument and record it.
313 (find_abbrev_list_by_abbrev_offset): Add an abbrev_base argument
315 (process_debug_info): Pass abbrev_base to new_abbrev_list and
316 find_abbrev_list_by_abbrev_offset.
317 (display_debug_abbrev): Pass 0 abbrev_base to new_abbrev_list
318 and find_abbrev_list_by_abbrev_offset.
319 * testsuite/binutils-all/x86-64/pr26808.dump: New file.
320 * testsuite/binutils-all/x86-64/pr26808.dwp.bz2: Likewise.
321 * testsuite/binutils-all/x86-64/x86-64.exp: Run PR binutils/26808
327 * objcopy.c (is_dwo_section): Check for missing or short section
332 * README-how-to-make-a-release: Use sha256sum instead of md5sum.
337 * elfedit.c (process_archive): Remove spurious call to free().
341 * dwarf.c (struct abbrev_list): New structure. Used to collect
342 lists of abbreviation sets.
343 (struct abbrev_map): New structure. Used to map CU offsets to
344 abbreviation offsets.
345 (record_abbrev_list): New function. A new entry to an
347 (free_all_abbrevs): Update to free abbreviation lists.
348 (new_abbrev_list): New function. Start a new abbreviation
350 (find_abbrev_list_by_abbrev_offset): New function.
351 (find_abbrev_map_by_offset): New function.
352 (add_abbrev): Add abbrev_list parameter.
353 (add_abbrev_attr): Likewise.
354 (process_abbrev_section): Rename to process_abbrev_set and add
356 (get_type_abbrev_from_form): New function. Attempts to decode the
357 forms used by DW_AT_type attributes.
358 (get_type_signedness): Display type names if operating in wide
359 mode. Use get_type_abbrev_from_form.
360 (read_and_display_attr_value): Use get_type_abbrev_from_form.
361 (process_debug_info): Pre-parse the CU headers to collate all the
362 abbrevs before starting the main scan.
363 (process_debug_abbrev): Do not free any loaded abbrevs.
364 (free_debug_memory): Free the abbrev maps.
368 * testsuite/binutils-all/objcopy.exp (objcopy_test): Report
369 error message on error.
373 * windmc.c (write_header_define): Fix printf format.
374 (write_header): Likewise.
378 * dwarf.c (skip_attr_bytes): Accept DWARF versions higher than 4
379 when processing the DW_FORM_ref_addr form.
380 Skip bytes in DW_FORM_block and DW_FORM_exprloc forms.
381 Handle DW_FORM_indirect.
382 (get_type_signedness): Allow a limited amount of recursion.
383 Do not attempt to decode types that use the DW_FORM_ref_addr form.
384 (read_and_display_attr_value): Do not attempt to decode types
385 that use the DW_FORM_ref_addr form.
389 * readelf.c: Delete whitespace at end of line throughout.
390 (SECTION_NAME, SECTION_NAME_VALID): New.
391 (SECTION_NAME_PRINT): Rename from SECTION_NAME. Formatting.
392 (printable_section_name, dump_relocations): Use SECTION_NAME_PRINT.
393 (process_section_headers, process_section_groups): Likewise.
394 (shdr_to_ctf_sect): Likewise.
395 (find_section, find_section_in_set): Use SECTION_NAME_VALID.
396 (ia64_process_unwind, hppa_process_unwind): Likewise.
397 (display_debug_section, initialise_dumps_byname): Likewise.
398 (process_lto_symbol_tables): Likewise. Check trailing period of
399 lto symbol table names.
400 (display_lto_symtab): Use sizeof instead of strlen.
404 * MAINTAINERS (RISC-V): Add myself as RISC-V co-maintainer.
408 * readelf.c (do_lto_syms): New local.
409 (long_option_values): Add OPTION_LTO_SYMS.
410 (options): Add --lto-syms.
411 (usage): Mention the new option.
412 (parse_args): Parse the new option.
413 (get_lto_kind): New function.
414 (get_lto_visibility): New function.
415 (get_lto_sym_type): New function.
416 (display_lto_symtab): New function - displays the contents of an
417 LTo symbol table section.
418 (process_lto_symbol_tables): New functions. Calls
419 dipslay_lto_symtab on any LTO symbol table section.
420 (process_object_file): Call process_lto_symbol_tables.
421 * doc/binutils.texi: Document the new option.
422 * NEWS: Mention the new feature.
427 * readelf.c (decode_x86_compat_2_isa): New function.
428 (decode_x86_isa): Updated for new X86_ISA_1_XXX bits.
429 (decode_x86_feature_1): Handle GNU_PROPERTY_X86_FEATURE_2_MASK.
430 (print_gnu_property_note): Handle X86_COMPAT_2_ISA_1_USED,
431 and X86_COMPAT_2_ISA_1_NEEDED.
432 * testsuite/binutils-all/i386/pr21231b.s: Updated to the current
433 GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
435 * testsuite/binutils-all/x86-64/pr21231b.s: Likewise.
436 * testsuite/binutils-all/x86-64/pr23494a.s: Likewise.
437 * testsuite/binutils-all/x86-64/pr23494b.s: Likewise.
438 * testsuite/binutils-all/x86-64/pr23494c.s: Likewise.
439 * testsuite/binutils-all/i386/empty.d: Updated.
440 * testsuite/binutils-all/i386/ibt.d: Likewise.
441 * testsuite/binutils-all/i386/pr21231a.d: Likewise.
442 * testsuite/binutils-all/i386/pr21231b.d: Likewise.
443 * testsuite/binutils-all/i386/shstk.d: Likewise.
444 * testsuite/binutils-all/x86-64/empty-x32.d: Likewise.
445 * testsuite/binutils-all/x86-64/empty.d: Likewise.
446 * testsuite/binutils-all/x86-64/ibt-x32.d: Likewise.
447 * testsuite/binutils-all/x86-64/ibt.d: Likewise.
448 * testsuite/binutils-all/x86-64/pr21231a.d: Likewise.
449 * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
450 * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
451 * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
452 * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
453 * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
454 * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
455 * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
456 * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
457 * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
458 * testsuite/binutils-all/x86-64/shstk-x32.d: Likewise.
459 * testsuite/binutils-all/x86-64/shstk.d: Likewise.
463 * objcopy.c (copy_object): Compare input and output sections by
464 pointer rather than name.
469 * windmc.c (mc_unify_path): Fix typo checking character at end of
474 * doc/binutils.texi: Fix spelling mistakes.
478 * dwarf.c (display_loclists_list): Handle DW_LLE_start_end and
479 DW_LLE_start_length. Only add base_address for DW_LLE_offset_pair.
483 * elfcomm.c (byte_put_little_endian, byte_put_big_endian): Support
485 * readelf.c (target_specific_reloc_handling <MSP430>): Limit
486 allowed reloc_size. Don't read_leb128 outside of section.
490 * dwarf.c (process_debug_info): Print Unit Type for DWARF5.
491 * testsuite/binutils-all/dw5.W: Adjust expected output.
492 * testsuite/binutils-all/dwarf-attributes.W: Likewise.
496 * dwarf.c (read_and_display_attr_value): Handle DW_FORM_ref_addr
497 for dwarf_version 5 just as version 3 and 4 (only 2 is
499 (process_debug_info): Allow DW_UT_partial.
504 * doc/binutils.texi (nm): Document that 'c' is used for small
509 * doc/binutils.texi (objcopy, strip): Say that
510 '--strip-unneeded' implies '--strip-debug'.
514 * verilog.c (verilog_write_address): Properly handle 64-bit
515 addresses to avoid truncation of the high part.
519 * nm.c (print_symbol): Adjust elf_symbol_from invocation.
520 * objcopy.c (is_hidden_symbol): Likewise.
524 * README-how-to-make-a-release (https): Add a reminder to create a
525 new Bugzilla tag for the point release, once it has been published.
529 * readelf.c (get_note_type): Support NT_X86_CET.
534 * dwarf.c (load_separate_debug_info): Return NULL rather than
535 FALSE in error situations.
536 (load_separate_debug_file): Move code to load debug links to ...
537 (check_for_and_load_links): ... here. New function. Load
538 separate debug information pointed to by debuglink and
539 debugaltlink sections. Recursively scan newly loaded debug
540 information for more links and load them too.
545 * dwarf.c (parse_gnu_debugaltlink): Don't alloc build_id_data.
546 (load_separate_debug_files): Use a stack var for build_id_data.
551 * testsuite/binutils-all/objcopy.exp: Pass --disable-reloc-section
552 to ld on PE targets for PR 25662 test.
557 * readelf.c (target_specific_reloc_handling): Handle
558 R_MSP430{,X}_GNU_{SET,SUB}_ULEB128.
562 * objdump.c (disassemble_bytes): Use an unsigned type for "addend".
566 * readelf.c (print_gnu_build_attribute_name): Use unsigned long
572 * dwarf.c (read_leb128): When checking for overflow of a signed
573 read, use a signed shift.
577 * readelf.c (get_csky_section_type_name): New.
578 (get_section_type_name): Add handler for CSKY.
579 (display_csky_attribute): New.
580 (process_arch_specific): Add handler for CSKY.
581 * testsuite/binutils-all/strip-3.d: Remove .csky.attributes
586 * readelf.c (get_msp430x_section_type_name): Rename to ...
587 (get_msp430_section_type_name): ... this.
588 (get_section_type_name): Use get_msp430_section_type_name.
589 (display_msp430x_attribute): Rename to ...
590 (display_msp430_attribute): ... this.
591 (process_arch_specific): Use display_msp430_attribute.
596 * testsuite/binutils-all/objcopy.exp (objcopy --reverse-bytes): Add
597 "-j $PRIVATE$" to command on hppa*-*-hpux*.
598 * testsuite/lib/utils-lib.exp (default_binutils_run): Remove existing
599 dollar-sign quotes before quoting. Do this prior to generating log
605 * mclex.c (skip_until_eol): If eol was found, increment line
610 * objdump.c (dump_ctf_errs): Unquote CTF error messages.
611 * readelf.c (dump_ctf_errs): Likewise.
615 * objdump.c (dump_ctf_archive_member): Move error-
617 (dump_ctf_errs): ... into this separate function.
618 (dump_ctf): Call it on open errors.
619 * readelf.c (dump_ctf_archive_member): Move error-
621 (dump_ctf_errs): ... into this separate function. Support
622 calls with NULL fp. Adjust for new err parameter to
624 (dump_section_as_ctf): Call it on open errors.
628 * Makefile.am (readelf_LDADD): Move $(LIBINTL) after $(LIBCTF_NOBFD).
629 * Makefile.in: Regenerated.
634 * readelf.c (get_segment_type): Handle OpenBSD segment types.
639 * objcopy.c (copy_object): Don't fwrite NULL contents.
644 * rcparse.y (AUTOCHECKBOX): Add WS_TABSTOP to the base style.
648 * readelf.c (dump_section_as_strings) Avoid false positive
649 "may be used uninitialised".
654 * nm.c (print_symname): Display only one '@' for undefined
656 * doc/binutils.texi: Update nm version information.
660 * testsuite/binutils-all/readelf.exp (readelf_wi_test): Also
661 recognize DW_LANG_C11.
666 * readelf.c (dump_relocations): Use BFD_VMA_FMT to print offset
668 (dump_section_as_strings): Don't use %tx to display offset.
673 * dwarf.c (free_debug_memory): Free alloc_num_debug_info_entries
674 of debug_information. Correct test of max_loc_offsets and
676 * rddbg.c (read_debugging_info): Free dhandle on error.
680 * testsuite/binutils-all/mangled.s: Use dc.a rather than dc.d.
685 * objcopy.c (copy_object): Report file name with endian error.
686 Error and return on abfd->read_only.
690 * dwarf-mode.el (Version): Now 1.6.
691 (dwarf-die-button-action): Tighten DIE reference regexp.
692 (dwarf-font-lock-keywords): Update name regexp.
697 * readelf.c (do_demangle): New option flag.
698 (print_symbol): If do_demangle is enabled, demangle the symbol.
699 (enum long_option_values): New enum to hold long option values.
700 (options): Add demangle, no-demangle, recursion-limit and
701 no-recursion-limit options. Alpha sort the table.
702 (usage): Describe the new options.
703 (parse_args): Handle the new options.
704 * NEWS: Mention the new feature.
705 * doc/binutils.texi: Document the new feature.
706 * testsuite/binutils-all/readelf.exp: Test the new feature.
707 * testsuite/binutils-all/mangled.s: New file - assembler source.
708 * testsuite/binutils-all/readelf.demangled: New file - expected
713 * po/sr.po: Updated Serbian translation.
718 * nm.c (with_symbol_versions): Removed.
719 (long_option_values): Add OPTION_WITH_SYMBOL_VERSIONS.
720 (long_options): Update --with-symbol-versions entry.
721 (print_symbol): Remove the with_symbol_versions check.
722 (main): Add OPTION_WITH_SYMBOL_VERSIONS for backward
724 * doc/binutils.texi: Remove --with-symbol-versions.
729 * objdump.c (load_specific_debug_section): Revert last change.
734 * objdump.c (load_specific_debug_section): Don't malloc space for
735 section contents, use bfd_malloc_and_get_section.
739 * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
740 * Makefile.in, doc/Makefile.in: Regenerate.
741 * configure: Regenerate.
745 * testsuite/binutils-all/i386/compressed-1a.d: Pass --gdwarf-3
747 * testsuite/binutils-all/i386/compressed-1b.d: Likewise.
748 * testsuite/binutils-all/i386/compressed-1c.d: Likewise.
749 * testsuite/binutils-all/x86-64/compressed-1a.d: Likewise.
750 * testsuite/binutils-all/x86-64/compressed-1b.d: Likewise.
751 * testsuite/binutils-all/x86-64/compressed-1c.d: Likewise.
755 * testsuite/binutils-all/mips/global-local-symtab-sort-o32.d:
757 * testsuite/binutils-all/mips/global-local-symtab-sort-o32t.d:
759 * testsuite/binutils-all/mips/global-local-symtab-sort-n32.d:
761 * testsuite/binutils-all/mips/global-local-symtab-sort-n32t.d:
763 * testsuite/binutils-all/mips/global-local-symtab-sort-n64.d:
765 * testsuite/binutils-all/mips/global-local-symtab-sort-n64t.d:
767 * testsuite/binutils-all/mips/global-local-symtab-final-o32.d:
769 * testsuite/binutils-all/mips/global-local-symtab-final-n32.d:
771 * testsuite/binutils-all/mips/global-local-symtab-final-n64.d:
773 * testsuite/binutils-all/mips/mips.exp: Run the new tests.
777 * testsuite/binutils-all/mips/global-local-symtab-o32.d: New
779 * testsuite/binutils-all/mips/global-local-symtab-o32t.d: New
781 * testsuite/binutils-all/mips/global-local-symtab-n32.d: New
783 * testsuite/binutils-all/mips/global-local-symtab-n32t.d: New
785 * testsuite/binutils-all/mips/global-local-symtab-n64.d: New
787 * testsuite/binutils-all/mips/mips.exp: Run the new tests.
792 * configure: Regenerated.
797 * configure: Regenerated.
801 * objdump.c (dump_section): Don't return without calling
806 * doc/binutils.texi: Replace preceeded with preceded.
810 * testsuite/binutils-all/mips/mips.exp (run_dump_test_abi)
811 (run_dump_test_o32, run_dump_test_n32, run_dump_test_n64): New
813 (has_newabi): Remove variable.
814 (has_abi, abi_asflags, abi_ldflags): New associative array
816 (irixemul): New variable.
817 Replace `run_dump_test' calls where applicable throughout with
818 `run_dump_test_o32', `run_dump_test_n32' and `run_dump_test_n64'
819 as appropriate. Use `noarch' for tests that require their own
820 architecture setting.
821 * testsuite/binutils-all/mips/mips-ase-1.d: Remove GAS flags.
822 * testsuite/binutils-all/mips/mips-ase-2.d: Likewise.
823 * testsuite/binutils-all/mips/mips-ase-3.d: Likewise.
824 * testsuite/binutils-all/mips/mips-note-2-n32.d: Likewise.
825 * testsuite/binutils-all/mips/mips-note-2-n64.d: Likewise.
826 * testsuite/binutils-all/mips/mips-note-2.d: Likewise.
827 * testsuite/binutils-all/mips/mips-note-2r-n32.d: Likewise.
828 * testsuite/binutils-all/mips/mips-note-2r-n64.d: Likewise.
829 * testsuite/binutils-all/mips/mips-note-2r.d: Likewise.
830 * testsuite/binutils-all/mips/mips-reginfo-n32.d: Likewise.
831 * testsuite/binutils-all/mips/mips-reginfo.d: Likewise.
832 * testsuite/binutils-all/mips/mips16-extend-noinsn.d: Likewise.
833 * testsuite/binutils-all/mips/mips16-pcrel.d: Likewise.
834 * testsuite/binutils-all/mips/mips16-alias.d: Remove `-32' from
836 * testsuite/binutils-all/mips/mips16-extend-insn.d: Likewise.
837 * testsuite/binutils-all/mips/mips16-noalias.d: Likewise.
838 * testsuite/binutils-all/mips/mips16-undecoded.d: Likewise.
839 * testsuite/binutils-all/mips/mips16e2-extend-insn.d: Likewise.
840 * testsuite/binutils-all/mips/mips16e2-undecoded.d: Likewise.
841 * testsuite/binutils-all/mips/mixed-micromips.d: Likewise.
842 * testsuite/binutils-all/mips/mixed-mips16.d: Likewise.
846 * Makefile.am: Replace LIBDEBUGINFOD with DEBUGINFOD_LIBS.
847 * Makefile.in: Rebuild.
848 * configure: Rebuild.
849 * doc/Makefile.in: Rebuild.
853 * README-how-to-make-a-release: Various small updates whilst
854 creating the 2.35 release.
858 * testsuite/lib/binutils-common.exp (run_dump_test): Add 'cc'
863 * objdump.c (dump_ctf_archive_member): Remove linefeeds.
864 (dump_ctf): Likewise.
868 * objdump.c (ctf_archive_member): Print CTF errors and warnings.
869 * readelf.c (dump_ctf_archive_member): Likewise.
873 * readelf.c (parse_args): Silence potential warnings about a
874 memory resource leak when allocating space for ctf option values.
875 (dump_section_as_ctf): Fix typo checking dump_ctf_strtab_name
880 * po/sv.po: Updated Swedish translation.
884 * testsuite/binutils-all/arc/double_regs.s: New test.
885 * testsuite/binutils-all/arc/objdump.exp: Add the above test.
889 * po/fr.po: Updated French translation.
893 * testsuite/lib/binutils-common.exp (is_pecoff_format): Accept
894 optional machine-os arg.
898 * readelf.c (decode_x86_feature_2): Handle
899 GNU_PROPERTY_X86_FEATURE_2_TMM.
903 * dwarf.c (display_debug_lines_decoded): Don't emit meaningless
904 information in the end_sequence row.
905 * testsuite/binutils-all/dw5.W: Update.
906 * testsuite/binutils-all/objdump.WL: Update.
910 * dlltool.c: Remove powerpc PE support and comments.
911 * configure.ac: Remove powerpc PE dlltool config.
912 * configure: Regenerate.
916 * rclex.c: Add OWNERDRAW keyword.
917 * rcparse.y: Add OWNERDRAW token.
918 (menuitem_flag) Add BITMAP and OWNERDRAW entries.
919 * resrc.c (write_rc_menuitems): Add support for OWNERDRAW and
921 * windres.c (extended_menuitems): Likewise.
922 * testsuite/binutils-all/windres/menuitem_flags.rc: New test.
926 * readelf (slurp_hppa_unwind_table): Set table_len before use
927 in relocation sanity checks.
931 * testsuite/binutils-all/ar.exp: Use is_xcoff_format.
932 * testsuite/binutils-all/nm.exp: Likewise.
933 * testsuite/binutils-all/copy-2.d: Run only for elf and pe targets.
934 * testsuite/binutils-all/copy-3.d: Run only for elf targets.
935 * testsuite/binutils-all/set-section-alignment.d: Likewise.
936 * testsuite/binutils-all/copy-4.d: Don't run for xcoff.
940 * testsuite/lib/binutils-common.exp (is_xcoff_format): New.
941 * testsuite/binutils-all/objcopy.exp (pr25662): Exclude xcoff.
945 * po/bg.po: Updated Bulgarian translation.
946 * po/pt.po: Updated Portuguese translation.
947 * po/uk.po: Updated Ukranian translation.
951 * readelf.c (print_dynamic_symbol): Don't sprintf to buffer to
956 * configure: Regenerate.
957 * po/binutils.pot: Regenerate.
961 Binutils 2.35 branch created.
966 * readelf.c (print_symbol): Handle truncation of symbol names.
967 (options): Add -T/--silent-truncation option.
968 (parse_args): Handle the option.
969 (print_dynamic_symbol): Correct calculation of width available to
971 * doc/binutils.texi: Document the -T option to readelf.
972 * NEWS: Mention the new feature.
976 * NEWS: Mention x86 NaCl target support removal.
977 * dwarf.c (init_dwarf_regnames_by_bfd_arch_and_mach): Remove
978 x86 NaCl target support.
979 * testsuite/binutils-all/elfedit-1.d: Likewise.
980 * testsuite/binutils-all/i386/i386.exp: Likewise.
981 * testsuite/binutils-all/x86-64/objects.exp: Likewise.
982 * testsuite/binutils-all/x86-64/pr23494a-x32.d: Likewise.
983 * testsuite/binutils-all/x86-64/pr23494a.d: Likewise.
984 * testsuite/binutils-all/x86-64/pr23494b-x32.d: Likewise.
985 * testsuite/binutils-all/x86-64/pr23494b.d: Likewise.
986 * testsuite/binutils-all/x86-64/pr23494c-x32.d: Likewise.
987 * testsuite/binutils-all/x86-64/pr23494c.d: Likewise.
988 * testsuite/binutils-all/x86-64/pr23494d-x32.d: Likewise.
989 * testsuite/binutils-all/x86-64/pr23494d.d: Likewise.
990 * testsuite/binutils-all/x86-64/pr23494e-x32.d: Likewise.
991 * testsuite/binutils-all/x86-64/pr23494e.d: Likewise.
992 * testsuite/binutils-all/x86-64/x86-64.exp: Likewise.
996 * dwarf.c (read_and_display_attr_value): Support
997 DW_FORM_GNU_strp_alt when used with DW_AT_dwo_name and
1002 * testsuite/binutils-all/readelf.exp (readelf_dump_test): Remove
1007 * dwarf.c (display_debug_str_offsets): Rename local variable
1008 index to idx. Move to top of function.
1012 * dwarf.c: Use C style comments.
1013 * resrc.c: Likewise.
1017 * elfcomm.c (setup_nested_archive): Set nested_arch->file to NULL
1019 (release_archive): Set fields of arch to NULL after freeing.
1023 * readelf.c (dump_section_as_ctf): Support .ctf archives using
1024 ctf_arc_bufopen. Automatically load the .ctf member of such
1025 archives as the parent of all other members, unless specifically
1026 overridden via --ctf-parent. Split out dumping code into...
1027 (dump_ctf_archive_member): ... here, as in objdump, and call
1028 it once per archive member.
1029 (dump_ctf_indent_lines): Code style fix.
1033 * configure.ac [--enable-libctf]: New, default yes.
1034 Set ENABLE_LIBCTF accordingly.
1035 * Makefile.am [!ENABLE_LIBCTF]: Empty LIBCTF and LIBCTF_NOBFD.
1036 * configure: Regenerate.
1037 * config.in: Regenerate.
1038 * Makefile.in: Regenerate.
1039 * aclocal.m4: Regenerate.
1040 * objdump.c (usage): Conditionalize portions on ENABLE_LIBCTF.
1041 (option_values): Likewise.
1042 (long_options): Likewise.
1044 (dump_ctf_indent_lines): Conditionalize out when !ENABLE_LIBCTF.
1045 (make_ctfsect): Likewise.
1046 (dump_ctf_archive_member): Likewise.
1047 (dump_ctf) [ENABLE_LIBCTF]: Likewise.
1048 (dump_ctf) [!ENABLE_LIBCTF]: New empty stub.
1049 * readelf.c (options): Conditionalize portions on ENABLE_LIBCTF.
1051 (process_section_contents): Likewise.
1052 (shdr_to_ctf_sect): Conditionalize out when !ENABLE_LIBCTF.
1053 (dump_ctf_indent_lines): Likewise.
1054 (dump_section_as_ctf) [ENABLE_LIBCTF]: Likewise.
1058 * doc/binutils.texi: Adjust description of x86's -Msuffix. Drop
1059 redundant text from x86 specific part of -M section.
1063 * readelf.c (display_m68k_gnu_attribute): New function.
1064 (process_arch_specific): Call display_m68k_gnu_attribute for EM_68K.
1069 * testsuite/binutils-all/pr26160.dwp.bz2: New file.
1070 * testsuite/binutils-all/pr26160.r: Likewise.
1071 * testsuite/binutils-all/readelf.exp: Run PR binutils/26160 test.
1076 * dwarf.c (fetch_indexed_string): Detect and handle old style
1077 .debug_str_offset tables.
1078 (display_debug_str_offsets): Likewise. Also add support for
1079 .debug_str_offsets.dwo sections.
1084 * testsuite/binutils-all/pr26112.o.bz2: New file.
1085 * testsuite/binutils-all/pr26112.r: Likewise.
1086 * testsuite/binutils-all/readelf.exp: Run PR binutils/26112 test.
1090 * testsuite/binutils-all/objdump.exp (bintest.a): Correct
1091 remote_file delete command.
1096 * dwarf.c (display_debug_str_offsets): Add code to display the
1097 contents of the .debug_str_offsets section.
1098 (display_debug_macro): Add support for DW_MACRO_define_strx and
1099 DW_MACRO_undef_strx.
1103 * od-macho.c: Dump linkedit data for new load commands.
1107 * testsuite/config/default.exp (ld_elf_shared_opt): Don't set.
1108 * testsuite/lib/binutils-common.exp (check_relro_support): New proc.
1109 (run_dump_test): Use check_relro_support to decide whether to pass
1110 extra ld option "-z norelro".
1114 * readelf.c (process_mips_specific): Don't alloc memory for
1115 Elf_Internal_Options.
1119 * readelf.c (process_mips_specific): Assert size of internal
1120 types match size of external types, and simplify allocation of
1121 internal buffer. Catch possible integer overflow when sanity
1122 checking option size. Don't assume options are a regular array.
1123 Sanity check reginfo option against option size. Use PRI macros
1129 * mclex.c (yylex): Reject lines that reach end-of-file without a
1130 terminating newline character.
1135 * doc/binutils.texi (strings): Fix typo.
1140 * dwarf.c (process_debug_info): Check that there is space in the
1141 debug_information array before filling in an entry.
1145 * doc/binutils.texi (PowerPC -M option): Mention power10 and pwr10.
1150 * mclex.c (yylex): Add test for an empty input stream.
1154 * testsuite/binutils-all/pr25662-pdp11.s: Alternate source file
1155 for test using section pseudo-ops compatible with pdp11.
1156 * testsuite/binutils-all/objcopy.exp: Select alternate source.
1160 * objdump.c (disassemble_data): Set disasm_info.endian_code to
1161 disasm_info.endian after the latter is initialized to the
1162 endianness reported by BFD.
1166 * testsuite/binutils-all/i386/i386.exp: Remove global directive
1168 * testsuite/binutils-all/x86-64/objects.exp: Likewise.
1169 * testsuite/binutils-all/x86-64/x86-64.exp: Likewise.
1173 * windmc.h (struct mc_node): Add id_typecast field.
1174 * mcparse.y (message): Initialise the id_typecast field.
1175 * windmc.c (write_dbg): Use the id_typecast field as a parameter
1176 when calling write_dbg_define.
1177 (write_header): Likewise.
1182 * objcopy.c (copy_relocations_in_section): Free relpp on error.
1183 Don't accidentally free isection->orelocation.
1187 * testsuite/binutils-all/ar.exp (obj): Set up object file name
1188 extension. Use throughout. Don't completely exclude non-ELF
1189 alpha targets. Run long_filenames test for tic30. Exclude thin
1190 archive tests for aix, ecoff and vms.
1191 * estsuite/binutils-all/objdump.exp (obj): Set up object file name
1192 extension. Use throughout. Don't exclude non-ELF alpha targets
1197 * MAINTAINERS (Xtensa): Add myself as maintainer.
1201 * testsuite/binutils-all/ar.exp (many_files): New test.
1205 * addr2line.c: Replace "if (x) free (x)" with "free (x)" throughout.
1206 * dlltool.c: Likewise.
1207 * elfcomm.c: Likewise.
1208 * rddbg.c: Likewise.
1209 * readelf.c: Likewise.
1210 * stabs.c: Likewise.
1211 * windmc.c: Likewise.
1212 * windres.c: Likewise.
1213 * wrstabs.c: Likewise.
1217 * readelf.c (get_num_dynamic_syms): Bounds check mipsxlat array
1222 * dwarf.c: Updated since DECLARE_CSR is changed.
1227 * readelf.c (process_program_headers): Warn if the PT_DYNAMIC
1228 segment doesn't match the .dynamic section and checks are
1230 (struct filedata): Add dynamic_symtab_section and
1231 dynamic_strtab_section fields.
1232 (process_section_headers): Set dynamic_symtab_section to the
1233 .dynsym section. Set dynamic_strtab_section to the .dynstr
1235 (process_dynamic_section): Warn if the .dynsym section doesn't
1236 match DT_SYMTAB and DT_SYMENT or the .dynstr section doesn't
1237 DT_STRTAB and DT_STRSZ. But only if checks are enabled.
1241 * ar.c (map_over_members, get_pos_bfd, delete_members, move_members),
1242 (replace_members): Use bfd_get_filename rather than accessing
1243 bfd->filename directly.
1244 * arsup.c (map_over_list, ar_delete, ar_replace, ar_extract): Likewise.
1245 * binemul.c (do_ar_emul_append): Likewise.
1246 * coffgrok.c (coff_grok): Likewise.
1250 * MAINTAINERS (OR1K): Add myself as maintainer.
1254 * doc/binutils.texi: Mention 'entry address' in the set-start and
1255 adjust-start options descriptions.
1259 * dwarf.c (do_checks): New global variable.
1260 (display_formatted_table): Warn about an unexpected number of
1261 columns in the table, if checks are enabled. Do not complain
1262 about the lack of data following the number of entries in the
1263 table if the table is empty.
1264 (display_debug_lines_decoded): Only warn about an unexpected
1265 number of columns in a table if checks are enabled.
1266 * dwarf.h (do_checks): Add a prototype.
1267 * elfcomm.c (error): Remove weak attribute.
1269 * readelf.c (do_checks): Delete.
1271 (process_section_headers): Only warn about empty sections if
1276 * objcopy.c (copy_object): Allow empty section.
1277 * testsuite/binutils-all/update-section.exp: Add test.
1282 * dwarf.c (display_debug_lines_decoded): Warn if encountering a
1283 supicious number of entries for DWARF-5 format directory and file
1284 name tables. Do not display file name table header if the table
1285 is empty. Do not allocate space for empty tables.
1289 * readelf.c (process_nds32_specific): Check size of .nds32_e_flags
1290 section. Don't assume endian of host matches nds32 target. Free
1296 * objdump.c (disassemble_bytes): Don't scan for zeros when
1297 disassembling zeros. Translate "resuming at file offset" message.
1298 Formatting. Replace some signed variables with unsigned.
1302 * testsuite/binutils-all/aarch64/in-order-all.d: Update to use new
1304 * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise.
1308 * testsuite/lib/binutils-common.exp (check_pie_support): New
1313 * dwarf.c (display_debug_ranges): Ignore duplicate entries in
1314 range_entries for the same offset.
1318 * readelf.c (warn): New function - like elfcomm.c version but only
1319 produces output if warnings are enabled.
1320 (struct options): Add --lint and --enable-checks.
1321 (usage): Add entry for --lint.
1322 (parse_args): Handle -L. If checks are enabled but no dumps have
1323 been selected then enable all dumps.
1324 (process_section_headers): Replace long if-then-else sequence with
1325 a switch. Add warning messages for empty SHT_REL, SHT_RELA and
1326 SHT_PROGBITS sections.
1327 (process_file): Do not complain if the file is an archive and lint
1328 mode has been enabled.
1329 * elfcomm.c (error): Make the function weak.
1331 * NEWS: Mention the new feature.
1332 * doc/binutils.texi: Document the new feature.
1333 * dwarf.h (report_leb_status): Add file name and line number
1334 parameters. Include them in the diagnostic output.
1335 (READ_ULEB): Pass file and line number to report_leb_status.
1336 (READ_SLEB): Likewise.
1337 * dwarf.c (read_and_print_leb128): Pass file and line number to
1339 * testsuite/binutils-all/readelf.exp: Add test of new feature.
1340 * testsuite/binutils-all/zero-sec.s: New test source file.
1341 * testsuite/binutils-all/zero-sec.r: Expected output from new
1346 * po/sr.po: Updated Serbian translation.
1350 * readelf.c (get_num_dynamic_syms): Check DT_MIPS_XHASH was
1351 read before dereferencing, and gracefully return. Remove
1352 gnu_hash_error variable. Free gnu hash arrays if number of
1357 * readelf.c (get_num_dynamic_syms): Check for nbuckets and nchains
1359 (process_dynamic_section): Call get_num_dynamic_syms once rather
1360 than in segment loop. Break out of segment loop on a successful
1361 load of dynamic symbols. Formatting.
1362 (process_object): Return error status from process_dynamic_section.
1366 * elf-bfd.h (elfcore_write_arc_v2): Add prototype.
1367 * elf.c (elfcore_grok_arc_v2): New function.
1368 (elfcore_grok_note): Call the new function to handle the corresponding
1370 (elfcore_write_arc_v2): New function.
1371 (elfcore_write_register_note): Call the new function to handle the
1372 corresponding pseudo-sections.
1377 * readelf.c (is_none_reloc): Recognize
1378 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
1379 BFD_RELOC_XTENSA_NDIFF{8,16,32}.
1383 * MAINTAINERS: Remove Chris Faylor as the ix86 PE maintainer.
1387 * readelf.c (archive_file_offset, archive_file_size, dynamic_addr),
1388 (dynamic_size, dynamic_nent, dynamic_strings, dynamic_strings_length),
1389 (num_dynamic_syms, nbuckets, nchains, buckets, chains),
1390 (ngnubuckets, gnubuckets, gnuchains, mipsxlat, ngnuchains),
1391 (gnusymidx, dynamic_symbols, dynamic_syminfo, dynamic_syminfo_offset),
1392 (dynamic_syminfo_nent, program_interpreter, dynamic_info),
1393 (dynamic_info_DT_GNU_HASH, dynamic_info_DT_MIPS_XHASH, version_info),
1394 (dynamic_section, symtab_shndx_list, group_count, section_groups),
1395 (section_headers_groups): Move to struct filedata. Update use
1400 * readelf.c (struct dump_data): New, used..
1401 (cmdline): ..here, and..
1402 (struct filedata): ..here. Adjust all uses.
1403 (request_dump_bynumber, request_dump, parse_args): Pass in a
1404 struct dump_data* rather than Filedata*. Adjust callers.
1405 (main): Don't set cmdline.file_name.
1409 * readelf.c (process_symbol_table): Clear ngnuchains, ngnubuckets
1414 * readelf.c (process_section_headers): Free dynamic symbols etc.
1419 * readelf.c (get_num_dynamic_syms): Formatting. Don't return
1420 on error without freeing.
1421 (process_dynamic_section): Don't recreate dynamic symbols from
1422 dynamic tag info when the dynamic symbols have already been
1423 read via section headers.
1427 * testsuite/binutils-all/arm/vdup-cond.d: New test for testing that
1428 conditional VDUP instructions are disassembled correctly.
1429 * testsuite/binutils-all/arm/vdup-cond.s: New file used by
1431 * testsuite/binutils-all/arm/vdup-thumb.d: New test for testing
1432 that VDUP instructions (which are conditional in A32) can be
1433 disassembled in thumb mode.
1434 * testsuite/binutils-all/arm/vdup-cond.s: New file used by
1440 * debug.c (debug_class_type_samep): Don't segfault on NULL type.
1444 * doc/binutils.texi: Mention --no-show-raw-insn in objdump
1445 --no-addresses description.
1449 * objdump.c (no_addresses): New static var.
1450 (usage): Print help for --no-addresses.
1451 (long_options): Add --no-addresses entry.
1452 (objdump_print_addr_with_sym, objdump_print_addr): Omit symbol address.
1453 (disassemble_bytes): Don't print current line address, or reloc
1455 * doc/binutils.texi: Document objdump --no-addresses.
1460 * readelf.c (get_num_dynamic_syms): Don't set num_of_syms when
1461 reading buckets or chains fails.
1465 * readelf.c (process_symbol_table): Zero gnubuckets, gnuchains
1470 * readelf.c (get_group_flags): Translate text.
1471 (get_file_type, get_symbol_binding, get_symbol_type),
1472 (get_ppc64_symbol_other, get_symbol_other): Increase size of buffer.
1477 * readelf.c (get_num_dynamic_syms): Typo fix.
1481 * readelf.c (process_mips_specific): Free eopt and iopt. Avoid
1482 possibility of overflow when checking number of conflicts.
1487 * readelf.c (nbuckets): New.
1488 (nchains): Likewise.
1489 (buckets): Likewise.
1491 (ngnubuckets): Likewise.
1492 (gnubuckets): Likewise.
1493 (gnuchains): Likewise.
1494 (mipsxlat): Likewise.
1495 (ngnuchains): Likewise.
1496 (gnusymidx): Likewise.
1497 (VALID_SYMBOL_NAME): Likewise.
1498 (VALID_DYNAMIC_NAME): Use it.
1499 (get_dynamic_data): Moved before process_dynamic_section.
1500 (get_num_dynamic_syms): New function.
1501 (process_dynamic_section): Use DT_SYMTAB, DT_SYMENT, DT_HASH,
1502 DT_GNU_HASH and DT_MIPS_XHASH to reconstruct dynamic symbol
1503 table. Use DT_STRTAB and DT_STRSZ to reconstruct dynamic string
1505 (get_symbol_index_type): Don't print "bad section index" when
1506 there is no section header.
1507 (print_dynamic_symbol): Rewrite.
1508 (process_symbol_table): Call print_dynamic_symbol to dump dynamic
1513 * testsuite/lib/binutils-common.exp (supports_gnu_osabi): Don't
1514 enable on *-*-solaris*.
1519 * objcopy.c (copy_object): When copying PE format files set the
1520 timestamp field in the pe_data structure if the preserve_dates
1522 * testsuite/binutils-all/objcopy.exp (objcopy_test) Use
1523 --preserve-dates in place of the -p option, in order to make its
1524 effect more obvious.
1528 * testsuite/binutils-all/objcopy.exp (objcopy_test): Only
1529 clear_xfail hppa*-*-*elf*. Revert mips xfails.
1533 * testsuite/binutils-all/objcopy.exp (objcopy_test): Move xfails
1534 from here to calls. Remove "m8*-*-*" entry. Don't xfail tic54x
1535 but do xfail spu, mipstx39 and mips-sgi-irix for the executable
1536 test. Pass "-p" to objcopy for the executable test.
1541 * testsuite/binutils-all/objcopy.exp (objcopy_test): Add argument to
1542 specify whether an object file or executable should be built and tested.
1543 Change test names to report whether an object file or executable is
1545 * testsuite/binutils-all/pr25662.ld: New test.
1546 * testsuite/binutils-all/pr25662.s: New test.
1550 * readelf.c (process_archive): Don't double free qualified_name.
1551 Don't break out of loop with "negative" archive_file_size, just
1552 set file offset to max.
1556 * readelf.c (process_archive): Prevent endless loop.
1561 * nm.c (print_symname): Replace _bfd_elf_get_symbol_version_name
1562 with bfd_get_symbol_version_string.
1563 (print_symbo): Pass TRUE to bfd_get_symbol_version_string.
1564 * objdump.c (objdump_print_symname): Likewise.
1569 * nm.c (SYM_NAME): Removed.
1570 (print_symname): Add a pointer to struct extended_symbol_info
1571 argument. Call _bfd_elf_get_symbol_version_name to get symbol
1573 (print_symdef_entry): Pass NULL to print_symname.
1574 (print_symbol_info_bsd): Update call to print_symname.
1575 (print_symbol_info_sysv): Likewise.
1576 (print_symbol_info_posix): Likewise.
1580 * readelf.c (process_mips_specific): Free iconf on error path.
1585 * wrstabs.c (stab_pop_type): Replace assertion with error return.
1586 * write_stabs_in_sections_debugging_info: Likewise.
1587 * stab_enum_type: Likewise.
1588 * stab_modify_type: Likewise.
1589 * stab_struct_field: Likewise.
1590 * stab_end_struct_type: Likewise.
1591 * stab_start_class_type: Likewise.
1592 * stab_class_static_member: Likewise.
1593 * stab_class_baseclass: Likewise.
1594 * stab_class_start_method: Likewise.
1595 * stab_class_method_var: Likewise.
1596 * stab_class_end_method: Likewise.
1597 * stab_end_class_type: Likewise.
1598 * stab_typedef_type: Likewise.
1599 * stab_start_function: Likewise.
1600 * stab_end_block: Likewise.
1601 * stab_lineno: Likewise.
1605 * readelf.c (get_compression_header): Add ATTRIBUTE_WARN_UNUSED_RESULT.
1606 (process_section_headers): Check the return value from
1607 get_compression_header.
1608 (dump_section_as_strings): Likewise.
1609 (dump_section_as_bytes): Likewise.
1610 (load_specific_debug_section): Likewise.
1614 * ar.c (main): Update bfd_plugin_set_program_name call.
1615 * nm.c (main): Likewise.
1620 * testsuite/binutils-all/dw4.s: New test source file.
1621 * testsuite/binutils-all/nm.exp: Run the new test.
1625 * readelf.c (process_symbol_table): Use unsigned long for si.
1629 * elfcomm.c: Don't include bfd.h or bucomm.h.
1630 (program_name): Declare.
1631 (process_archive_index_and_symbols): Replace bfd_boolean with int,
1632 and substitute FALSE and TRUE.
1633 (setup_archive, setup_nested_archive): Likewise.
1634 * elfcomm.h: Likewise.
1638 * readelf.c (process_archive): Always return via path freeing
1643 * readelf.c (process_netbsd_elf_note): Validate descsz before
1644 accessing descdata. Formatting.
1648 * elfcomm.c (setup_archive): Make file_size an off_t. Comment.
1649 * elfcomm.h (setup_archive): Update prototype.
1653 * readelf.c (get_symbols): New function.
1654 (process_relocs, ia64_process_unwind, hppa_process_unwind),
1655 (arm_process_unwind, get_symbol_for_build_attribute): Use it.
1659 * unwind-ia64.c (unw_decode_uleb128): Prevent overlarge shifts.
1660 Detect shift overflows and check that terminating byte is found.
1661 Print an error on a bad uleb128.
1665 * readelf.c (process_file): Clean ba_cache.
1669 * elfcomm.h (setup_archive): Update prototype.
1670 * elfcomm.c (setup_archive): Add file_size parameter and sanity
1671 check longnames_size.
1672 (setup_nested_archive): Get file size and pass to setup_archive.
1673 * elfedit.c (process_archive): Likewise.
1674 * readelf.c (process_archive): Pass filedata->file_size to
1679 * readelf.c (dump_section_as_strings): Free memory on error exit.
1680 (dump_section_as_bytes, process_notes_at): Likewise.
1681 (get_build_id): Free enote.
1685 * readelf.c (get_netbsd_elfcore_note_type): Add support for
1686 NT_NETBSDCORE_LWPSTATUS notes.
1690 * elfcomm.c (get_archive_member_name): Always return malloc'd
1692 * elfedit.c (process_archive): Tidy memory on all return paths.
1693 * readelf.c (process_archive): Likewise.
1694 (process_symbol_table): Likewise.
1695 (ba_cache): New, replacing ..
1696 (get_symbol_for_build_attribute): ..static vars here. Free
1697 strtab and symtab before loading new ones. Reject symtab without
1698 valid strtab in loop, breaking out of loop on valid symtab.
1699 (process_file): Free ba_cache symtab and strtab here, resetting
1704 * readelf.c (process_section_headers): Don't just set
1705 filedata->section_headers NULL, free it first. Similarly for
1706 dynamic_symbols, dynamic_strings, dynamic_syminfo and
1707 symtab_shndx_list. Zero associated counts too.
1708 (process_object): Free symtab_shndx_list.
1709 (process_file): Free various allocated filedata tables.
1715 * dwarf.h (DWARF2_Internal_LineInfo): Add li_address_size and
1716 li_segment_size fields.
1717 * dwarf.c (read_debug_line_header): Record the address size and
1718 segment selector size values (if present) in the lineinfo
1720 (display_formatted_table): Warn if the format count is empty but
1721 the table itself is not empty.
1722 Display the format count and entry count at the start of the table
1724 (display_debug_lines_raw): Display the address size and segement
1725 selector size fields, if present.
1726 * testsuite/binutils-all/dw5.W: Update expected output.
1731 * objcopy.c (copy_object): Test "gaps" not gap_fill_set or
1732 pad_to_set on second block of code dealing with padding.
1733 Replace "c" with "num_sec" and don't recalculate number of
1734 sections on second block. Size arrays using sizeof (element)
1735 rather than sizeof (element type).
1739 * objdump.c (disassemble_section): Don't call qsort unless
1740 sym count is at least two.
1741 (disassemble_data): Don't call memcpy with NULL src.
1746 * readelf.c (dump_ia64_vms_dynamic_fixups): Pass size and nmemb
1747 to get_data rather than multiplying.
1748 (dump_ia64_vms_dynamic_relocs): Likewise.
1749 (process_version_sections): Correct order of size and nmemb args
1751 (process_mips_specific): Likewise.
1755 * readelf.c (get_dynamic_data): Replace "memory chekers" with
1756 "memory checkers" in comments.
1761 * doc/Makefile.am: Rename MOSTLYCLEANFILES to MAINTAINERCLEANFILES.
1762 * doc/Makefile.in: Re-generate.
1766 * objcopy.c (check_new_section_flags): New function. Reject the
1767 SEC_COFF_SHARED flag if the target is not a COFF binary.
1768 (copy_object): Call check_new_section_flags.
1769 (setup_section): Likewise.
1770 * doc/binutils.texi (objcopy): Add a note that the 'share' section
1771 flag cannot be applied to ELF binaries.
1776 * objcopy.c (filter_symbols): Correct rem_leading_char logic.
1781 * objcopy.c (filter_symbols): Don't segfault on NULL
1782 prefix_symbols_string.
1786 * objcopy.c (copy_object): Convert from bytes to octets for
1787 --gap-fill and --pad-to.
1792 * prdbg.c (pr_tag_type): Remove call to abort.
1796 * binutils/testsuite/binutils-all/debuginfod.exp: Improve port
1802 * readelf.c (dump_section_as_strings): Display new-line characters
1803 as \n and then insert a line break.
1804 * testsuite/binutils-all/pr25543.s: New test.
1805 * testsuite/binutils-all/pr25543.d: Test driver.
1806 * testsuite/binutils-all/readelf.exp: Run the new test.
1811 * readelf.c (process_ia64_vms_dynamic_relocs): Check to see if
1812 get_data is unable to load the string table.
1816 * elfedit.c: Indent labels correctly.
1817 * readelf.c: Likewise.
1818 * resres.c: Likewise.
1823 * ar.c (main): Pass 0 to bfd_plugin_set_program_name.
1824 * nm.c (main): Pass 1 to bfd_plugin_set_program_name.
1829 * doc/binutils.texi (objdump): Fix typo in description of
1830 objdump's -g option.
1834 * dwarf.c (regname_internal_riscv): Updated since the DECLARE_CSR
1839 * objdump.c (show_line): call bfd_demangle when using do_demangle.
1843 * configure: Regenerate.
1847 * objcopy.c (parse_flags): Handle "exclude".
1848 * doc/binutils.texi: Document the support.
1852 * binutils/testsuite/binutils-all/debuginfod.exp:
1853 Replace set ::env with setenv.
1854 Start server before setting environment variable.
1855 Specify tmpdir as the location of the server's
1857 Check additional server metrics at start-up.
1861 * README-how-to-make-a-release: Add note about updating the
1862 GAS/NEWS URL in the next release.
1867 * readelf.c (get_machine_flags): Add support for Z80N machine
1872 * dwarf.c (display_debug_lines_decoded): Force a NUL termination
1873 of the truncated file name.
1877 * objdump.c (print_jump_visualisation): New function.
1878 (disassemble_bytes): Call new function.
1882 * testsuite/lib/binutils-common.exp (match_target): Accept '!' before
1884 (supports_gnu_osabi): New procedure.
1885 (is_generic): New, from ld-lib.exp.
1886 (supports_gnu_unique): Use the above.
1890 * Makefile.am (CFILES): Add od-elf32_avr.c.
1891 * Makefile.in: Regenerate.
1892 * po/POTFILES.in: Regenerate.
1896 * readelf.c (dump_relocations, dump_relocations)
1897 (decode_arm_unwind_bytecode, process_dynamic_section)
1898 (get_symbol_visibility, get_alpha_symbol_other): Add newline to
1903 * coffdump.c (program_name): Drop redundant definition.
1904 * srconv.c (program_name): Likewise
1905 * sysdump.c (program_name): Likewise
1910 * objdump.c (sym_ok): Return FALSE if 2 sections are in the
1911 same file with different section pointers.
1915 * README-how-to-make-a-release: Update with more details on the
1916 release making process.
1920 * po/sv.po: Updated Swedish translation.
1924 * readelf.c (get_build_id): Simplify warning message about corrupt
1925 notes encountered whilst scanning for the build-id.
1929 * objcopy.c (compare_gnu_build_notes): Fix comparison results
1930 for overlapping ranges so that (A == B) == (B == A) holds.
1934 * testsuite/lib/binutils-common.exp (big_or_little_endian): Replace
1935 case statement with switch statement.
1939 * readelf.c (get_build_id): Fix warning messages about corrupt
1944 * po/fr.po: Updated French translation.
1949 * readelf.c (get_alpha_symbol_other): Fix error message typo.
1953 * po/pt.po: Updated Portuguese translation.
1954 * po/uk.po: Updated Ukranian translation.
1958 * README-how-to-make-a-release: Update notes on how to cut a
1959 branch for a release.
1963 * configure: Regenerate.
1964 * po/binutils.pot: Regenerate.
1968 Binutils 2.34 branch created.
1972 * objdump.c (jump_info_visualize_address): Discard jumps that are
1974 (disassemble_bytes): Only compute the maximum level if jumps were
1979 * objdump.c (disassemble_bytes): Remove C99-ism.
1980 * testsuite/binutils-all/debuginfod.exp: New tests.
1984 * objdump.c (visualize_jumps, color_output, extended_color_output)
1985 (detected_jumps): New variables.
1986 (usage): Add the new jump visualization options.
1987 (option_values): Add new option value.
1988 (long_options): Add the new option.
1989 (jump_info_new, jump_info_free): New functions.
1990 (jump_info_min_address, jump_info_max_address): Likewise.
1991 (jump_info_end_address, jump_info_is_start_address): Likewise.
1992 (jump_info_is_end_address, jump_info_size): Likewise.
1993 (jump_info_unlink, jump_info_insert): Likewise.
1994 (jump_info_add_front, jump_info_move_linked): Likewise.
1995 (jump_info_intersect, jump_info_merge): Likewise.
1996 (jump_info_sort, jump_info_visualize_address): Likewise.
1997 (disassemble_jumps): New function - used to locate jumps.
1998 (disassemble_bytes): Add ascii art generation.
1999 (disassemble_section): Add scan to locate jumps.
2000 (main): Parse the new visualization option.
2001 * doc/binutils.texi: Document the new feature.
2002 * NEWS: Mention the new feature.
2008 * dwarf.c (display_debug_frames): Move fde_fc earlier. Free
2009 fde_fc col_type and col_offset.
2010 * readelf.c (apply_relocations): Move symsec check earlier.
2011 (free_debug_section): Free reloc_info.
2012 (process_notes_at): Free pnotes on error path.
2013 (process_object): Free dump_sects here..
2014 (process_archive): ..not here.
2019 * nm.c (display_rel_file): Free dyn_syms.
2024 * objcopy.c (empty_name): New variable.
2025 (need_sym_before): Prevent an attempt to free a static variable.
2026 (filter_symbols): Avoid strcmp test by checking for pointer
2031 * po/zh_TW.po: Updated Traditional Chinese translation.
2035 * Makefile.am (readelf_LDADD, objdump_LDADD): Add libdebuginfod.
2036 * Makefile.in: Regenerate.
2038 * config.in: Regenerate.
2039 * configure: Regenerate.
2040 * configure.ac: Call AC_DEBUGINFOD.
2041 * doc/Makefile.in: Regenerate.
2042 * doc/binutils.texi: Add section on using binutils
2044 * dwarf.c (debuginfod_fetch_separate_debug_info): New function.
2045 Query debuginfod servers for the target debug file.
2046 (load_separate_debug_info): Call
2047 debuginfod_fetch_separate_debug_info if configured with
2049 (load_separate_debug_files): Add file argument to
2050 load_separate_debug_info calls.
2051 * dwarf.h (get_build_id): Add declaration.
2052 * objdump.c (get_build_id): New function. Get build-id of file.
2053 * readelf.c (get_build_id): Likewise.
2054 * testsuite/binutils-all/debuginfod.exp: New tests.
2055 * testsuite/binutils-all/linkdebug.s: Add .note.gnu.build-id
2060 * readelf.c: Add support for new Z*) relocations and machine
2065 Update year range in copyright notice of all files.
2067 For older changes see ChangeLog-2019
2069 Copyright (C) 2020 Free Software Foundation, Inc.
2071 Copying and distribution of this file, with or without modification,
2072 are permitted in any medium without royalty provided the copyright
2073 notice and this notice are preserved.
2079 version-control: never