1@c This file contains the entry for the -w/--debug-dump (readelf) and
2@c  -W/--dwarf (objdump) option that is common to both readelf and objdump.
3
4Displays the contents of the DWARF debug sections in the file, if any
5are present.  Compressed debug sections are automatically decompressed
6(temporarily) before they are displayed.  If one or more of the
7optional letters or words follows the switch then only those type(s)
8of data will be dumped.  The letters and words refer to the following
9information:
10
11@c Please Keep This Table Alpha Sorted.
12@table @code
13@item a
14@itemx =abbrev
15Displays the contents of the @samp{.debug_abbrev} section.
16
17@item A
18@itemx =addr
19Displays the contents of the @samp{.debug_addr} section.
20
21@item c
22@itemx =cu_index
23Displays the contents of the @samp{.debug_cu_index} and/or
24@samp{.debug_tu_index} sections.
25
26@item f
27@itemx =frames
28Display the raw contents of a @samp{.debug_frame} section.
29
30@item F
31@item =frames-interp
32Display the interpreted contents of a @samp{.debug_frame} section.
33
34@item g
35@itemx =gdb_index
36Displays the contents of the @samp{.gdb_index} and/or
37@samp{.debug_names} sections.
38
39@item i
40@itemx =info
41Displays the contents of the @samp{.debug_info} section.  Note: the
42output from this option can also be restricted by the use of the 
43@option{--dwarf-depth} and @option{--dwarf-start} options.
44
45@item k
46@itemx =links
47Displays the contents of the @samp{.gnu_debuglink},
48@samp{.gnu_debugaltlink} and @samp{.debug_sup} sections, if any of
49them are present.  Also displays any links to separate dwarf object
50files (dwo), if they are specified by the DW_AT_GNU_dwo_name or
51DW_AT_dwo_name attributes in the @samp{.debug_info} section.
52
53@item K
54@itemx =follow-links
55Display the contents of any selected debug sections that are found in
56linked, separate debug info file(s).  This can result in multiple
57versions of the same debug section being displayed if it exists in
58more than one file.
59
60In addition, when displaying DWARF attributes, if a form is found that
61references the separate debug info file, then the referenced contents
62will also be displayed.
63
64Note - in some distributions this option is enabled by default.  It
65can be disabled via the @option{N} debug option.  The default can be
66chosen when configuring the binutils via the
67@option{--enable-follow-debug-links=yes} or
68@option{--enable-follow-debug-links=no} options.  If these are not
69used then the default is to enable the following of debug links.
70
71Note - if support for the debuginfod protocol was enabled when the
72binutils were built then this option will also include an attempt to
73contact any debuginfod servers mentioned in the @var{DEBUGINFOD_URLS}
74environment variable.  This could take some time to resolve.  This
75behaviour can be disabled via the @option{=do-not-use-debuginfod} debug
76option.
77
78@item N
79@itemx =no-follow-links
80Disables the following of links to separate debug info files.
81
82@item D
83@itemx =use-debuginfod
84Enables contacting debuginfod servers if there is a need to follow
85debug links.  This is the default behaviour.
86
87@item E
88@itemx =do-not-use-debuginfod
89Disables contacting debuginfod servers when there is a need to follow
90debug links.
91
92@item l
93@itemx =rawline
94Displays the contents of the @samp{.debug_line} section in a raw
95format.
96
97@item L
98@item =decodedline
99Displays the interpreted contents of the @samp{.debug_line} section.
100
101@item m
102@itemx =macro
103Displays the contents of the @samp{.debug_macro} and/or
104@samp{.debug_macinfo} sections.
105
106@item o
107@itemx =loc
108Displays the contents of the @samp{.debug_loc} and/or
109@samp{.debug_loclists} sections.
110
111@item O
112@itemx =str-offsets
113Displays the contents of the @samp{.debug_str_offsets} section.
114
115@item p
116@itemx =pubnames
117Displays the contents of the @samp{.debug_pubnames} and/or
118@samp{.debug_gnu_pubnames} sections.
119
120@item r
121@itemx =aranges
122Displays the contents of the @samp{.debug_aranges} section.
123
124@item R
125@itemx =Ranges
126Displays the contents of the @samp{.debug_ranges} and/or
127@samp{.debug_rnglists} sections.
128
129@item s
130@itemx =str
131Displays the contents of the @samp{.debug_str}, @samp{.debug_line_str}
132and/or @samp{.debug_str_offsets} sections.
133
134@item t
135@itemx =pubtype
136Displays the contents of the @samp{.debug_pubtypes} and/or
137@samp{.debug_gnu_pubtypes} sections.
138
139@item T
140@itemx =trace_aranges
141Displays the contents of the @samp{.trace_aranges} section.
142
143@item u
144@itemx =trace_abbrev
145Displays the contents of the @samp{.trace_abbrev} section.
146
147@item U
148@itemx =trace_info
149Displays the contents of the @samp{.trace_info} section.
150
151@end table
152
153Note: displaying the contents of @samp{.debug_static_funcs},
154@samp{.debug_static_vars} and @samp{debug_weaknames} sections is not
155currently supported.
156
157@item --dwarf-depth=@var{n}
158Limit the dump of the @code{.debug_info} section to @var{n} children.
159This is only useful with @option{--debug-dump=info}.  The default is
160to print all DIEs; the special value 0 for @var{n} will also have this
161effect.
162
163With a non-zero value for @var{n}, DIEs at or deeper than @var{n}
164levels will not be printed.  The range for @var{n} is zero-based.
165
166@item --dwarf-start=@var{n}
167Print only DIEs beginning with the DIE numbered @var{n}.  This is only
168useful with @option{--debug-dump=info}.
169
170If specified, this option will suppress printing of any header
171information and all DIEs before the DIE numbered @var{n}.  Only
172siblings and children of the specified DIE will be printed.
173
174This can be used in conjunction with @option{--dwarf-depth}.
175
176