mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-05 08:14:19 +08:00
24841daa74
PR 23843 * dwarf.h (struct separate_info): New structure for containing information on separate debug info files. * dwarf.c (struct dwo_info): New structure for containing dwo links. (first_dwo_info): Chain of dwo_info structures. (first_separate_file): Chain of separate_info structures. (separate_debug_file, separate_debug_filename): Delete. (fetch_alt_indirect_string): Scan all separate debug info files for the requested string. (add_dwo_info): New function. (add_dwo_name): New function. (add_dwo_dir): New function. (add_dwo_id: New function. (free_dwo_info): New function. (read_and_display_attr_value): Store DWO data using the new functions. (load_debug_section_with_follow): If necessary, scan the list of separate debug info files for the requested section. (add_separate_debug_file): New function. (load_separate_debug_info): Call add_separate_debug_file to store the information on the newly loaded file. (load_dwo_file): Likewise. (load_separate_debif_file): Rename to load_separate_debug_files. Change return type to boolean. If following links then attempt to load all separate debug info files, not just the first one. (free_debug_memory): Release memory in dwo_info and separate_info chains. * objdump.c (dump_dwarf): Iterate over all loaded debg info files. * readelf.c (process_object): Likewise. * doc/debug.options.texi: Update descriptions of links and follow-links options. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/readelf.k2: Likewise. * NEWS: Announce the new feature.
144 lines
4.1 KiB
Plaintext
144 lines
4.1 KiB
Plaintext
@c This file contains the entry for the -w/--debug-dump (readelf) and
|
|
@c -W/--dwarf (objdump) option that is common to both readelf and objdump.
|
|
|
|
Displays the contents of the DWARF debug sections in the file, if any
|
|
are present. Compressed debug sections are automatically decompressed
|
|
(temporarily) before they are displayed. If one or more of the
|
|
optional letters or words follows the switch then only those type(s)
|
|
of data will be dumped. The letters and words refer to the following
|
|
information:
|
|
|
|
@c Please Keep This Table Alpha Sorted.
|
|
@table @code
|
|
@item a
|
|
@itemx =abbrev
|
|
Displays the contents of the @samp{.debug_abbrev} section.
|
|
|
|
@item A
|
|
@itemx =addr
|
|
Displays the contents of the @samp{.debug_addr} section.
|
|
|
|
@item c
|
|
@itemx =cu_index
|
|
Displays the contents of the @samp{.debug_cu_index} and/or
|
|
@samp{.debug_tu_index} sections.
|
|
|
|
@item f
|
|
@itemx =frames
|
|
Display the raw contents of a @samp{.debug_frame} section.
|
|
|
|
@item F
|
|
@item =frame-interp
|
|
Display the interpreted contents of a @samp{.debug_frame} section.
|
|
|
|
@item g
|
|
@itemx =gdb_index
|
|
Displays the contents of the @samp{.gdb_index} and/or
|
|
@samp{.debug_names} sections.
|
|
|
|
@item i
|
|
@itemx =info
|
|
Displays the contents of the @samp{.debug_info} section. Note: the
|
|
output from this option can also be restricted by the use of the
|
|
@option{--dwarf-depth} and @option{--dwarf-start} options.
|
|
|
|
@item k
|
|
@itemx =links
|
|
Displays the contents of the @samp{.gnu_debuglink} and/or
|
|
@samp{.gnu_debugaltlink} sections. Also displays any links to
|
|
separate dwarf object files (dwo), if they are specified by the
|
|
DW_AT_GNU_dwo_name or DW_AT_dwo_name attributes in the
|
|
@samp{.debug_info} section.
|
|
|
|
@item K
|
|
@itemx =follow-links
|
|
Display the contents of any selected debug sections that are found in
|
|
linked, separate debug info file(s). This can result in multiple
|
|
versions of the same debug section being displayed if it exists in
|
|
more than one file.
|
|
|
|
In addition, when displaying DWARF attributes, if a form is found that
|
|
references the separate debug info file, then the referenced contents
|
|
will also be displayed.
|
|
|
|
@item l
|
|
@itemx =rawline
|
|
Displays the contents of the @samp{.debug_line} section in a raw
|
|
format.
|
|
|
|
@item L
|
|
@item =decodedline
|
|
Displays the interpreted contents of the @samp{.debug_line} section.
|
|
|
|
@item m
|
|
@itemx =macro
|
|
Displays the contents of the @samp{.debug_macro} and/or
|
|
@samp{.debug_macinfo} sections.
|
|
|
|
@item o
|
|
@itemx =loc
|
|
Displays the contents of the @samp{.debug_loc} and/or
|
|
@samp{.debug_loclists} sections.
|
|
|
|
@item p
|
|
@itemx =pubnames
|
|
Displays the contents of the @samp{.debug_pubnames} and/or
|
|
@samp{.debug_gnu_pubnames} sections.
|
|
|
|
@item r
|
|
@itemx =aranges
|
|
Displays the contents of the @samp{.debug_aranges} section.
|
|
|
|
@item R
|
|
@itemx =Ranges
|
|
Displays the contents of the @samp{.debug_ranges} and/or
|
|
@samp{.debug_rnglists} sections.
|
|
|
|
@item s
|
|
@itemx =str
|
|
Displays the contents of the @samp{.debug_str}, @samp{.debug_line_str}
|
|
and/or @samp{.debug_str_offsets} sections.
|
|
|
|
@item t
|
|
@itemx =pubtype
|
|
Displays the contents of the @samp{.debug_pubtypes} and/or
|
|
@samp{.debug_gnu_pubtypes} sections.
|
|
|
|
@item T
|
|
@itemx =trace_aranges
|
|
Displays the contents of the @samp{.trace_aranges} section.
|
|
|
|
@item u
|
|
@itemx =trace_abbrev
|
|
Displays the contents of the @samp{.trace_abbrev} section.
|
|
|
|
@item U
|
|
@itemx =trace_info
|
|
Displays the contents of the @samp{.trace_info} section.
|
|
|
|
@end table
|
|
|
|
Note: displaying the contents of @samp{.debug_static_funcs},
|
|
@samp{.debug_static_vars} and @samp{debug_weaknames} sections is not
|
|
currently supported.
|
|
|
|
@item --dwarf-depth=@var{n}
|
|
Limit the dump of the @code{.debug_info} section to @var{n} children.
|
|
This is only useful with @option{--debug-dump=info}. The default is
|
|
to print all DIEs; the special value 0 for @var{n} will also have this
|
|
effect.
|
|
|
|
With a non-zero value for @var{n}, DIEs at or deeper than @var{n}
|
|
levels will not be printed. The range for @var{n} is zero-based.
|
|
|
|
@item --dwarf-start=@var{n}
|
|
Print only DIEs beginning with the DIE numbered @var{n}. This is only
|
|
useful with @option{--debug-dump=info}.
|
|
|
|
If specified, this option will suppress printing of any header
|
|
information and all DIEs before the DIE numbered @var{n}. Only
|
|
siblings and children of the specified DIE will be printed.
|
|
|
|
This can be used in conjunction with @option{--dwarf-depth}.
|
|
|