struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / support / sdbinutils / binutils / doc / nm.1
blob7f169dd1d16faa62839f3ad2e834f38ca689671f
1 .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 .    ds C`
42 .    ds C'
43 'br\}
44 .\"
45 .\" Escape single quotes in literal strings from groff's Unicode transform.
46 .ie \n(.g .ds Aq \(aq
47 .el       .ds Aq '
48 .\"
49 .\" If the F register is >0, we'll generate index entries on stderr for
50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51 .\" entries marked with X<> in POD.  Of course, you'll have to process the
52 .\" output yourself in some meaningful fashion.
53 .\"
54 .\" Avoid warning from groff about undefined register 'F'.
55 .de IX
57 .nr rF 0
58 .if \n(.g .if rF .nr rF 1
59 .if (\n(rF:(\n(.g==0)) \{\
60 .    if \nF \{\
61 .        de IX
62 .        tm Index:\\$1\t\\n%\t"\\$2"
64 .        if !\nF==2 \{\
65 .            nr % 0
66 .            nr F 2
67 .        \}
68 .    \}
69 .\}
70 .rr rF
71 .\"
72 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
74 .    \" fudge factors for nroff and troff
75 .if n \{\
76 .    ds #H 0
77 .    ds #V .8m
78 .    ds #F .3m
79 .    ds #[ \f1
80 .    ds #] \fP
81 .\}
82 .if t \{\
83 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84 .    ds #V .6m
85 .    ds #F 0
86 .    ds #[ \&
87 .    ds #] \&
88 .\}
89 .    \" simple accents for nroff and troff
90 .if n \{\
91 .    ds ' \&
92 .    ds ` \&
93 .    ds ^ \&
94 .    ds , \&
95 .    ds ~ ~
96 .    ds /
97 .\}
98 .if t \{\
99 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
106 .    \" troff and (daisy-wheel) nroff accents
107 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114 .ds ae a\h'-(\w'a'u*4/10)'e
115 .ds Ae A\h'-(\w'A'u*4/10)'E
116 .    \" corrections for vroff
117 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
119 .    \" for low resolution devices (crt and lpr)
120 .if \n(.H>23 .if \n(.V>19 \
122 .    ds : e
123 .    ds 8 ss
124 .    ds o a
125 .    ds d- d\h'-1'\(ga
126 .    ds D- D\h'-1'\(hy
127 .    ds th \o'bp'
128 .    ds Th \o'LP'
129 .    ds ae ae
130 .    ds Ae AE
132 .rm #[ #] #H #V #F C
133 .\" ========================================================================
135 .IX Title "NM 1"
136 .TH NM 1 "2022-02-09" "binutils-2.38" "GNU Development Tools"
137 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
138 .\" way too many mistakes in technical documents.
139 .if n .ad l
141 .SH "NAME"
142 nm \- list symbols from object files
143 .SH "SYNOPSIS"
144 .IX Header "SYNOPSIS"
145 nm [\fB\-A\fR|\fB\-o\fR|\fB\-\-print\-file\-name\fR]
146    [\fB\-a\fR|\fB\-\-debug\-syms\fR]
147    [\fB\-B\fR|\fB\-\-format=bsd\fR]
148    [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]]
149    [\fB\-D\fR|\fB\-\-dynamic\fR]
150    [\fB\-f\fR\fIformat\fR|\fB\-\-format=\fR\fIformat\fR]
151    [\fB\-g\fR|\fB\-\-extern\-only\fR]
152    [\fB\-h\fR|\fB\-\-help\fR]
153    [\fB\-\-ifunc\-chars=\fR\fI\s-1CHARS\s0\fR]
154    [\fB\-j\fR|\fB\-\-format=just\-symbols\fR]
155    [\fB\-l\fR|\fB\-\-line\-numbers\fR] [\fB\-\-inlines\fR]
156    [\fB\-n\fR|\fB\-v\fR|\fB\-\-numeric\-sort\fR]
157    [\fB\-P\fR|\fB\-\-portability\fR]
158    [\fB\-p\fR|\fB\-\-no\-sort\fR]
159    [\fB\-r\fR|\fB\-\-reverse\-sort\fR]
160    [\fB\-S\fR|\fB\-\-print\-size\fR]
161    [\fB\-s\fR|\fB\-\-print\-armap\fR]
162    [\fB\-t\fR \fIradix\fR|\fB\-\-radix=\fR\fIradix\fR]
163    [\fB\-u\fR|\fB\-\-undefined\-only\fR]
164    [\fB\-U\fR \fImethod\fR] [\fB\-\-unicode=\fR\fImethod\fR]
165    [\fB\-V\fR|\fB\-\-version\fR]
166    [\fB\-X 32_64\fR]
167    [\fB\-\-defined\-only\fR]
168    [\fB\-\-no\-demangle\fR]
169    [\fB\-\-no\-recurse\-limit\fR|\fB\-\-recurse\-limit\fR]]
170    [\fB\-\-plugin\fR \fIname\fR]
171    [\fB\-\-size\-sort\fR]
172    [\fB\-\-special\-syms\fR]
173    [\fB\-\-synthetic\fR]
174    [\fB\-\-target=\fR\fIbfdname\fR]
175    [\fB\-\-with\-symbol\-versions\fR]
176    [\fB\-\-without\-symbol\-versions\fR]
177    [\fIobjfile\fR...]
178 .SH "DESCRIPTION"
179 .IX Header "DESCRIPTION"
180 \&\s-1GNU\s0 \fBnm\fR lists the symbols from object files \fIobjfile\fR....
181 If no object files are listed as arguments, \fBnm\fR assumes the file
182 \&\fIa.out\fR.
184 For each symbol, \fBnm\fR shows:
185 .IP "\(bu" 4
186 The symbol value, in the radix selected by options (see below), or
187 hexadecimal by default.
188 .IP "\(bu" 4
189 The symbol type.  At least the following types are used; others are, as
190 well, depending on the object file format.  If lowercase, the symbol is
191 usually local; if uppercase, the symbol is global (external).  There
192 are however a few lowercase symbols that are shown for special global
193 symbols (\f(CW\*(C`u\*(C'\fR, \f(CW\*(C`v\*(C'\fR and \f(CW\*(C`w\*(C'\fR).
194 .RS 4
195 .ie n .IP """A""" 4
196 .el .IP "\f(CWA\fR" 4
197 .IX Item "A"
198 The symbol's value is absolute, and will not be changed by further
199 linking.
200 .ie n .IP """B""" 4
201 .el .IP "\f(CWB\fR" 4
202 .IX Item "B"
203 .PD 0
204 .ie n .IP """b""" 4
205 .el .IP "\f(CWb\fR" 4
206 .IX Item "b"
208 The symbol is in the \s-1BSS\s0 data section.  This section typically
209 contains zero-initialized or uninitialized data, although the exact
210 behavior is system dependent.
211 .ie n .IP """C""" 4
212 .el .IP "\f(CWC\fR" 4
213 .IX Item "C"
214 .PD 0
215 .ie n .IP """c""" 4
216 .el .IP "\f(CWc\fR" 4
217 .IX Item "c"
219 The symbol is common.  Common symbols are uninitialized data.  When
220 linking, multiple common symbols may appear with the same name.  If the
221 symbol is defined anywhere, the common symbols are treated as undefined
222 references.
223 The lower case \fIc\fR character is used when the symbol is in a
224 special section for small commons.
225 .ie n .IP """D""" 4
226 .el .IP "\f(CWD\fR" 4
227 .IX Item "D"
228 .PD 0
229 .ie n .IP """d""" 4
230 .el .IP "\f(CWd\fR" 4
231 .IX Item "d"
233 The symbol is in the initialized data section.
234 .ie n .IP """G""" 4
235 .el .IP "\f(CWG\fR" 4
236 .IX Item "G"
237 .PD 0
238 .ie n .IP """g""" 4
239 .el .IP "\f(CWg\fR" 4
240 .IX Item "g"
242 The symbol is in an initialized data section for small objects.  Some
243 object file formats permit more efficient access to small data objects,
244 such as a global int variable as opposed to a large global array.
245 .ie n .IP """i""" 4
246 .el .IP "\f(CWi\fR" 4
247 .IX Item "i"
248 For \s-1PE\s0 format files this indicates that the symbol is in a section
249 specific to the implementation of DLLs.
251 For \s-1ELF\s0 format files this indicates that the symbol is an indirect
252 function.  This is a \s-1GNU\s0 extension to the standard set of \s-1ELF\s0 symbol
253 types.  It indicates a symbol which if referenced by a relocation does
254 not evaluate to its address, but instead must be invoked at runtime.
255 The runtime execution will then return the value to be used in the
256 relocation.
258 Note \- the actual symbols display for \s-1GNU\s0 indirect symbols is
259 controlled by the \fB\-\-ifunc\-chars\fR command line option.  If this
260 option has been provided then the first character in the string will
261 be used for global indirect function symbols.  If the string contains
262 a second character then that will be used for local indirect function
263 symbols.
264 .ie n .IP """I""" 4
265 .el .IP "\f(CWI\fR" 4
266 .IX Item "I"
267 The symbol is an indirect reference to another symbol.
268 .ie n .IP """N""" 4
269 .el .IP "\f(CWN\fR" 4
270 .IX Item "N"
271 The symbol is a debugging symbol.
272 .ie n .IP """n""" 4
273 .el .IP "\f(CWn\fR" 4
274 .IX Item "n"
275 The symbol is in the read-only data section.
276 .ie n .IP """p""" 4
277 .el .IP "\f(CWp\fR" 4
278 .IX Item "p"
279 The symbol is in a stack unwind section.
280 .ie n .IP """R""" 4
281 .el .IP "\f(CWR\fR" 4
282 .IX Item "R"
283 .PD 0
284 .ie n .IP """r""" 4
285 .el .IP "\f(CWr\fR" 4
286 .IX Item "r"
288 The symbol is in a read only data section.
289 .ie n .IP """S""" 4
290 .el .IP "\f(CWS\fR" 4
291 .IX Item "S"
292 .PD 0
293 .ie n .IP """s""" 4
294 .el .IP "\f(CWs\fR" 4
295 .IX Item "s"
297 The symbol is in an uninitialized or zero-initialized data section
298 for small objects.
299 .ie n .IP """T""" 4
300 .el .IP "\f(CWT\fR" 4
301 .IX Item "T"
302 .PD 0
303 .ie n .IP """t""" 4
304 .el .IP "\f(CWt\fR" 4
305 .IX Item "t"
307 The symbol is in the text (code) section.
308 .ie n .IP """U""" 4
309 .el .IP "\f(CWU\fR" 4
310 .IX Item "U"
311 The symbol is undefined.
312 .ie n .IP """u""" 4
313 .el .IP "\f(CWu\fR" 4
314 .IX Item "u"
315 The symbol is a unique global symbol.  This is a \s-1GNU\s0 extension to the
316 standard set of \s-1ELF\s0 symbol bindings.  For such a symbol the dynamic linker
317 will make sure that in the entire process there is just one symbol with
318 this name and type in use.
319 .ie n .IP """V""" 4
320 .el .IP "\f(CWV\fR" 4
321 .IX Item "V"
322 .PD 0
323 .ie n .IP """v""" 4
324 .el .IP "\f(CWv\fR" 4
325 .IX Item "v"
327 The symbol is a weak object.  When a weak defined symbol is linked with
328 a normal defined symbol, the normal defined symbol is used with no error.
329 When a weak undefined symbol is linked and the symbol is not defined,
330 the value of the weak symbol becomes zero with no error.  On some
331 systems, uppercase indicates that a default value has been specified.
332 .ie n .IP """W""" 4
333 .el .IP "\f(CWW\fR" 4
334 .IX Item "W"
335 .PD 0
336 .ie n .IP """w""" 4
337 .el .IP "\f(CWw\fR" 4
338 .IX Item "w"
340 The symbol is a weak symbol that has not been specifically tagged as a
341 weak object symbol.  When a weak defined symbol is linked with a normal
342 defined symbol, the normal defined symbol is used with no error.
343 When a weak undefined symbol is linked and the symbol is not defined,
344 the value of the symbol is determined in a system-specific manner without
345 error.  On some systems, uppercase indicates that a default value has been
346 specified.
347 .ie n .IP """\-""" 4
348 .el .IP "\f(CW\-\fR" 4
349 .IX Item "-"
350 The symbol is a stabs symbol in an a.out object file.  In this case, the
351 next values printed are the stabs other field, the stabs desc field, and
352 the stab type.  Stabs symbols are used to hold debugging information.
353 .ie n .IP """?""" 4
354 .el .IP "\f(CW?\fR" 4
355 .IX Item "?"
356 The symbol type is unknown, or object file format specific.
358 .RS 4
360 .IP "\(bu" 4
361 The symbol name.  If a symbol has version information associated with it,
362 then the version information is displayed as well.  If the versioned
363 symbol is undefined or hidden from linker, the version string is displayed
364 as a suffix to the symbol name, preceded by an @ character.  For example
365 \&\fBfoo@VER_1\fR.  If the version is the default version to be used when
366 resolving unversioned references to the symbol, then it is displayed as a
367 suffix preceded by two @ characters.  For example \fBfoo@@VER_2\fR.
368 .SH "OPTIONS"
369 .IX Header "OPTIONS"
370 The long and short forms of options, shown here as alternatives, are
371 equivalent.
372 .IP "\fB\-A\fR" 4
373 .IX Item "-A"
374 .PD 0
375 .IP "\fB\-o\fR" 4
376 .IX Item "-o"
377 .IP "\fB\-\-print\-file\-name\fR" 4
378 .IX Item "--print-file-name"
380 Precede each symbol by the name of the input file (or archive member)
381 in which it was found, rather than identifying the input file once only,
382 before all of its symbols.
383 .IP "\fB\-a\fR" 4
384 .IX Item "-a"
385 .PD 0
386 .IP "\fB\-\-debug\-syms\fR" 4
387 .IX Item "--debug-syms"
389 Display all symbols, even debugger-only symbols; normally these are not
390 listed.
391 .IP "\fB\-B\fR" 4
392 .IX Item "-B"
393 The same as \fB\-\-format=bsd\fR (for compatibility with the \s-1MIPS\s0 \fBnm\fR).
394 .IP "\fB\-C\fR" 4
395 .IX Item "-C"
396 .PD 0
397 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
398 .IX Item "--demangle[=style]"
400 Decode (\fIdemangle\fR) low-level symbol names into user-level names.
401 Besides removing any initial underscore prepended by the system, this
402 makes \*(C+ function names readable. Different compilers have different
403 mangling styles. The optional demangling style argument can be used to
404 choose an appropriate demangling style for your compiler.
405 .IP "\fB\-\-no\-demangle\fR" 4
406 .IX Item "--no-demangle"
407 Do not demangle low-level symbol names.  This is the default.
408 .IP "\fB\-\-recurse\-limit\fR" 4
409 .IX Item "--recurse-limit"
410 .PD 0
411 .IP "\fB\-\-no\-recurse\-limit\fR" 4
412 .IX Item "--no-recurse-limit"
413 .IP "\fB\-\-recursion\-limit\fR" 4
414 .IX Item "--recursion-limit"
415 .IP "\fB\-\-no\-recursion\-limit\fR" 4
416 .IX Item "--no-recursion-limit"
418 Enables or disables a limit on the amount of recursion performed
419 whilst demangling strings.  Since the name mangling formats allow for
420 an infinite level of recursion it is possible to create strings whose
421 decoding will exhaust the amount of stack space available on the host
422 machine, triggering a memory fault.  The limit tries to prevent this
423 from happening by restricting recursion to 2048 levels of nesting.
425 The default is for this limit to be enabled, but disabling it may be
426 necessary in order to demangle truly complicated names.  Note however
427 that if the recursion limit is disabled then stack exhaustion is
428 possible and any bug reports about such an event will be rejected.
429 .IP "\fB\-D\fR" 4
430 .IX Item "-D"
431 .PD 0
432 .IP "\fB\-\-dynamic\fR" 4
433 .IX Item "--dynamic"
435 Display the dynamic symbols rather than the normal symbols.  This is
436 only meaningful for dynamic objects, such as certain types of shared
437 libraries.
438 .IP "\fB\-f\fR \fIformat\fR" 4
439 .IX Item "-f format"
440 .PD 0
441 .IP "\fB\-\-format=\fR\fIformat\fR" 4
442 .IX Item "--format=format"
444 Use the output format \fIformat\fR, which can be \f(CW\*(C`bsd\*(C'\fR,
445 \&\f(CW\*(C`sysv\*(C'\fR, \f(CW\*(C`posix\*(C'\fR or \f(CW\*(C`just\-symbols\*(C'\fR.  The default is \f(CW\*(C`bsd\*(C'\fR.
446 Only the first character of \fIformat\fR is significant; it can be
447 either upper or lower case.
448 .IP "\fB\-g\fR" 4
449 .IX Item "-g"
450 .PD 0
451 .IP "\fB\-\-extern\-only\fR" 4
452 .IX Item "--extern-only"
454 Display only external symbols.
455 .IP "\fB\-h\fR" 4
456 .IX Item "-h"
457 .PD 0
458 .IP "\fB\-\-help\fR" 4
459 .IX Item "--help"
461 Show a summary of the options to \fBnm\fR and exit.
462 .IP "\fB\-\-ifunc\-chars=\fR\fI\s-1CHARS\s0\fR" 4
463 .IX Item "--ifunc-chars=CHARS"
464 When display \s-1GNU\s0 indirect function symbols \fBnm\fR will default
465 to using the \f(CW\*(C`i\*(C'\fR character for both local indirect functions and
466 global indirect functions.  The \fB\-\-ifunc\-chars\fR option allows
467 the user to specify a string containing one or two characters. The
468 first character will be used for global indirect function symbols and
469 the second character, if present, will be used for local indirect
470 function symbols.
471 .IP "\fBj\fR" 4
472 .IX Item "j"
473 The same as \fB\-\-format=just\-symbols\fR.
474 .IP "\fB\-l\fR" 4
475 .IX Item "-l"
476 .PD 0
477 .IP "\fB\-\-line\-numbers\fR" 4
478 .IX Item "--line-numbers"
480 For each symbol, use debugging information to try to find a filename and
481 line number.  For a defined symbol, look for the line number of the
482 address of the symbol.  For an undefined symbol, look for the line
483 number of a relocation entry which refers to the symbol.  If line number
484 information can be found, print it after the other symbol information.
485 .IP "\fB\-\-inlines\fR" 4
486 .IX Item "--inlines"
487 When option \fB\-l\fR is active, if the address belongs to a
488 function that was inlined, then this option causes the source 
489 information for all enclosing scopes back to the first non-inlined
490 function to be printed as well.  For example, if \f(CW\*(C`main\*(C'\fR inlines
491 \&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from
492 \&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR
493 will also be printed.
494 .IP "\fB\-n\fR" 4
495 .IX Item "-n"
496 .PD 0
497 .IP "\fB\-v\fR" 4
498 .IX Item "-v"
499 .IP "\fB\-\-numeric\-sort\fR" 4
500 .IX Item "--numeric-sort"
502 Sort symbols numerically by their addresses, rather than alphabetically
503 by their names.
504 .IP "\fB\-p\fR" 4
505 .IX Item "-p"
506 .PD 0
507 .IP "\fB\-\-no\-sort\fR" 4
508 .IX Item "--no-sort"
510 Do not bother to sort the symbols in any order; print them in the order
511 encountered.
512 .IP "\fB\-P\fR" 4
513 .IX Item "-P"
514 .PD 0
515 .IP "\fB\-\-portability\fR" 4
516 .IX Item "--portability"
518 Use the \s-1POSIX.2\s0 standard output format instead of the default format.
519 Equivalent to \fB\-f posix\fR.
520 .IP "\fB\-r\fR" 4
521 .IX Item "-r"
522 .PD 0
523 .IP "\fB\-\-reverse\-sort\fR" 4
524 .IX Item "--reverse-sort"
526 Reverse the order of the sort (whether numeric or alphabetic); let the
527 last come first.
528 .IP "\fB\-S\fR" 4
529 .IX Item "-S"
530 .PD 0
531 .IP "\fB\-\-print\-size\fR" 4
532 .IX Item "--print-size"
534 Print both value and size of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output style.
535 This option has no effect for object formats that do not record symbol
536 sizes, unless \fB\-\-size\-sort\fR is also used in which case a
537 calculated size is displayed.
538 .IP "\fB\-s\fR" 4
539 .IX Item "-s"
540 .PD 0
541 .IP "\fB\-\-print\-armap\fR" 4
542 .IX Item "--print-armap"
544 When listing symbols from archive members, include the index: a mapping
545 (stored in the archive by \fBar\fR or \fBranlib\fR) of which modules
546 contain definitions for which names.
547 .IP "\fB\-t\fR \fIradix\fR" 4
548 .IX Item "-t radix"
549 .PD 0
550 .IP "\fB\-\-radix=\fR\fIradix\fR" 4
551 .IX Item "--radix=radix"
553 Use \fIradix\fR as the radix for printing the symbol values.  It must be
554 \&\fBd\fR for decimal, \fBo\fR for octal, or \fBx\fR for hexadecimal.
555 .IP "\fB\-u\fR" 4
556 .IX Item "-u"
557 .PD 0
558 .IP "\fB\-\-undefined\-only\fR" 4
559 .IX Item "--undefined-only"
561 Display only undefined symbols (those external to each object file).
562 .IP "\fB\-U\fR \fI[d|i|l|e|x|h]\fR" 4
563 .IX Item "-U [d|i|l|e|x|h]"
564 .PD 0
565 .IP "\fB\-\-unicode=\fR\fI[default|invalid|locale|escape|hex|highlight]\fR" 4
566 .IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]"
568 Controls the display of \s-1UTF\-8\s0 encoded multibyte characters in strings.
569 The default (\fB\-\-unicode=default\fR) is to give them no special
570 treatment.  The \fB\-\-unicode=locale\fR option displays the sequence
571 in the current locale, which may or may not support them.  The options
572 \&\fB\-\-unicode=hex\fR and \fB\-\-unicode=invalid\fR display them as
573 hex byte sequences enclosed by either angle brackets or curly braces.
575 The \fB\-\-unicode=escape\fR option displays them as escape sequences
576 (\fI\euxxxx\fR) and the \fB\-\-unicode=highlight\fR option displays
577 them as escape sequences highlighted in red (if supported by the
578 output device).  The colouring is intended to draw attention to the
579 presence of unicode sequences where they might not be expected.
580 .IP "\fB\-V\fR" 4
581 .IX Item "-V"
582 .PD 0
583 .IP "\fB\-\-version\fR" 4
584 .IX Item "--version"
586 Show the version number of \fBnm\fR and exit.
587 .IP "\fB\-X\fR" 4
588 .IX Item "-X"
589 This option is ignored for compatibility with the \s-1AIX\s0 version of
590 \&\fBnm\fR.  It takes one parameter which must be the string
591 \&\fB32_64\fR.  The default mode of \s-1AIX\s0 \fBnm\fR corresponds
592 to \fB\-X 32\fR, which is not supported by \s-1GNU\s0 \fBnm\fR.
593 .IP "\fB\-\-defined\-only\fR" 4
594 .IX Item "--defined-only"
595 Display only defined symbols for each object file.
596 .IP "\fB\-\-plugin\fR \fIname\fR" 4
597 .IX Item "--plugin name"
598 Load the plugin called \fIname\fR to add support for extra target
599 types.  This option is only available if the toolchain has been built
600 with plugin support enabled.
602 If \fB\-\-plugin\fR is not provided, but plugin support has been
603 enabled then \fBnm\fR iterates over the files in
604 \&\fI${libdir}/bfd\-plugins\fR in alphabetic order and the first
605 plugin that claims the object in question is used.
607 Please note that this plugin search directory is \fInot\fR the one
608 used by \fBld\fR's \fB\-plugin\fR option.  In order to make
609 \&\fBnm\fR use the  linker plugin it must be copied into the
610 \&\fI${libdir}/bfd\-plugins\fR directory.  For \s-1GCC\s0 based compilations
611 the linker plugin is called \fIliblto_plugin.so.0.0.0\fR.  For Clang
612 based compilations it is called \fILLVMgold.so\fR.  The \s-1GCC\s0 plugin
613 is always backwards compatible with earlier versions, so it is
614 sufficient to just copy the newest one.
615 .IP "\fB\-\-size\-sort\fR" 4
616 .IX Item "--size-sort"
617 Sort symbols by size.  For \s-1ELF\s0 objects symbol sizes are read from the
618 \&\s-1ELF,\s0 for other object types the symbol sizes are computed as the
619 difference between the value of the symbol and the value of the symbol
620 with the next higher value.  If the \f(CW\*(C`bsd\*(C'\fR output format is used
621 the size of the symbol is printed, rather than the value, and
622 \&\fB\-S\fR must be used in order both size and value to be printed.
623 .IP "\fB\-\-special\-syms\fR" 4
624 .IX Item "--special-syms"
625 Display symbols which have a target-specific special meaning.  These
626 symbols are usually used by the target for some special processing and
627 are not normally helpful when included in the normal symbol lists.
628 For example for \s-1ARM\s0 targets this option would skip the mapping symbols
629 used to mark transitions between \s-1ARM\s0 code, \s-1THUMB\s0 code and data.
630 .IP "\fB\-\-synthetic\fR" 4
631 .IX Item "--synthetic"
632 Include synthetic symbols in the output.  These are special symbols
633 created by the linker for various purposes.  They are not shown by
634 default since they are not part of the binary's original source code.
635 .IP "\fB\-\-with\-symbol\-versions\fR" 4
636 .IX Item "--with-symbol-versions"
637 .PD 0
638 .IP "\fB\-\-without\-symbol\-versions\fR" 4
639 .IX Item "--without-symbol-versions"
641 Enables or disables the display of symbol version information.  The
642 version string is displayed as a suffix to the symbol name, preceded
643 by an @ character.  For example \fBfoo@VER_1\fR.  If the version is
644 the default version to be used when resolving unversioned references
645 to the symbol then it is displayed as a suffix preceded by two @
646 characters.  For example \fBfoo@@VER_2\fR.  By default, symbol
647 version information is displayed.
648 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
649 .IX Item "--target=bfdname"
650 Specify an object code format other than your system's default format.
651 .IP "\fB@\fR\fIfile\fR" 4
652 .IX Item "@file"
653 Read command-line options from \fIfile\fR.  The options read are
654 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
655 does not exist, or cannot be read, then the option will be treated
656 literally, and not removed.
658 Options in \fIfile\fR are separated by whitespace.  A whitespace
659 character may be included in an option by surrounding the entire
660 option in either single or double quotes.  Any character (including a
661 backslash) may be included by prefixing the character to be included
662 with a backslash.  The \fIfile\fR may itself contain additional
663 @\fIfile\fR options; any such options will be processed recursively.
664 .SH "SEE ALSO"
665 .IX Header "SEE ALSO"
666 \&\fBar\fR\|(1), \fBobjdump\fR\|(1), \fBranlib\fR\|(1), and the Info entries for \fIbinutils\fR.
667 .SH "COPYRIGHT"
668 .IX Header "COPYRIGHT"
669 Copyright (c) 1991\-2022 Free Software Foundation, Inc.
671 Permission is granted to copy, distribute and/or modify this document
672 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
673 or any later version published by the Free Software Foundation;
674 with no Invariant Sections, with no Front-Cover Texts, and with no
675 Back-Cover Texts.  A copy of the license is included in the
676 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".