OSDN Git Service

abee04b95c1e0de0726dd7f6645145b7dee8e608
[gengkapak/clang-GengKapak.git] / share / man / man1 / arm-linux-gnueabi-nm.1
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
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
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
56 ..
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"
63 ..
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'
105 .\}
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 \
121 \{\
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
131 .\}
132 .rm #[ #] #H #V #F C
133 .\" ========================================================================
134 .\"
135 .IX Title "NM 1"
136 .TH NM 1 "2023-04-24" "binutils-2.40.00" "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
140 .nh
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|\fB\-\-defined\-only\fR]
165    [\fB\-V\fR|\fB\-\-version\fR]
166    [\fB\-W\fR|\fB\-\-no\-weak\fR]
167    [\fB\-X 32_64\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\-\-unicode=\fR\fImethod\fR]
176    [\fB\-\-with\-symbol\-versions\fR]
177    [\fB\-\-without\-symbol\-versions\fR]
178    [\fIobjfile\fR...]
179 .SH "DESCRIPTION"
180 .IX Header "DESCRIPTION"
181 \&\s-1GNU\s0 \fBnm\fR lists the symbols from object files \fIobjfile\fR....
182 If no object files are listed as arguments, \fBnm\fR assumes the file
183 \&\fIa.out\fR.
184 .PP
185 For each symbol, \fBnm\fR shows:
186 .IP "\(bu" 4
187 The symbol value, in the radix selected by options (see below), or
188 hexadecimal by default.
189 .IP "\(bu" 4
190 The symbol type.  At least the following types are used; others are, as
191 well, depending on the object file format.  If lowercase, the symbol is
192 usually local; if uppercase, the symbol is global (external).  There
193 are however a few lowercase symbols that are shown for special global
194 symbols (\f(CW\*(C`u\*(C'\fR, \f(CW\*(C`v\*(C'\fR and \f(CW\*(C`w\*(C'\fR).
195 .RS 4
196 .ie n .IP """A""" 4
197 .el .IP "\f(CWA\fR" 4
198 .IX Item "A"
199 The symbol's value is absolute, and will not be changed by further
200 linking.
201 .ie n .IP """B""" 4
202 .el .IP "\f(CWB\fR" 4
203 .IX Item "B"
204 .PD 0
205 .ie n .IP """b""" 4
206 .el .IP "\f(CWb\fR" 4
207 .IX Item "b"
208 .PD
209 The symbol is in the \s-1BSS\s0 data section.  This section typically
210 contains zero-initialized or uninitialized data, although the exact
211 behavior is system dependent.
212 .ie n .IP """C""" 4
213 .el .IP "\f(CWC\fR" 4
214 .IX Item "C"
215 .PD 0
216 .ie n .IP """c""" 4
217 .el .IP "\f(CWc\fR" 4
218 .IX Item "c"
219 .PD
220 The symbol is common.  Common symbols are uninitialized data.  When
221 linking, multiple common symbols may appear with the same name.  If the
222 symbol is defined anywhere, the common symbols are treated as undefined
223 references.
224 The lower case \fIc\fR character is used when the symbol is in a
225 special section for small commons.
226 .ie n .IP """D""" 4
227 .el .IP "\f(CWD\fR" 4
228 .IX Item "D"
229 .PD 0
230 .ie n .IP """d""" 4
231 .el .IP "\f(CWd\fR" 4
232 .IX Item "d"
233 .PD
234 The symbol is in the initialized data section.
235 .ie n .IP """G""" 4
236 .el .IP "\f(CWG\fR" 4
237 .IX Item "G"
238 .PD 0
239 .ie n .IP """g""" 4
240 .el .IP "\f(CWg\fR" 4
241 .IX Item "g"
242 .PD
243 The symbol is in an initialized data section for small objects.  Some
244 object file formats permit more efficient access to small data objects,
245 such as a global int variable as opposed to a large global array.
246 .ie n .IP """i""" 4
247 .el .IP "\f(CWi\fR" 4
248 .IX Item "i"
249 For \s-1PE\s0 format files this indicates that the symbol is in a section
250 specific to the implementation of DLLs.
251 .Sp
252 For \s-1ELF\s0 format files this indicates that the symbol is an indirect
253 function.  This is a \s-1GNU\s0 extension to the standard set of \s-1ELF\s0 symbol
254 types.  It indicates a symbol which if referenced by a relocation does
255 not evaluate to its address, but instead must be invoked at runtime.
256 The runtime execution will then return the value to be used in the
257 relocation.
258 .Sp
259 Note \- the actual symbols display for \s-1GNU\s0 indirect symbols is
260 controlled by the \fB\-\-ifunc\-chars\fR command line option.  If this
261 option has been provided then the first character in the string will
262 be used for global indirect function symbols.  If the string contains
263 a second character then that will be used for local indirect function
264 symbols.
265 .ie n .IP """I""" 4
266 .el .IP "\f(CWI\fR" 4
267 .IX Item "I"
268 The symbol is an indirect reference to another symbol.
269 .ie n .IP """N""" 4
270 .el .IP "\f(CWN\fR" 4
271 .IX Item "N"
272 The symbol is a debugging symbol.
273 .ie n .IP """n""" 4
274 .el .IP "\f(CWn\fR" 4
275 .IX Item "n"
276 The symbol is in the read-only data section.
277 .ie n .IP """p""" 4
278 .el .IP "\f(CWp\fR" 4
279 .IX Item "p"
280 The symbol is in a stack unwind section.
281 .ie n .IP """R""" 4
282 .el .IP "\f(CWR\fR" 4
283 .IX Item "R"
284 .PD 0
285 .ie n .IP """r""" 4
286 .el .IP "\f(CWr\fR" 4
287 .IX Item "r"
288 .PD
289 The symbol is in a read only data section.
290 .ie n .IP """S""" 4
291 .el .IP "\f(CWS\fR" 4
292 .IX Item "S"
293 .PD 0
294 .ie n .IP """s""" 4
295 .el .IP "\f(CWs\fR" 4
296 .IX Item "s"
297 .PD
298 The symbol is in an uninitialized or zero-initialized data section
299 for small objects.
300 .ie n .IP """T""" 4
301 .el .IP "\f(CWT\fR" 4
302 .IX Item "T"
303 .PD 0
304 .ie n .IP """t""" 4
305 .el .IP "\f(CWt\fR" 4
306 .IX Item "t"
307 .PD
308 The symbol is in the text (code) section.
309 .ie n .IP """U""" 4
310 .el .IP "\f(CWU\fR" 4
311 .IX Item "U"
312 The symbol is undefined.
313 .ie n .IP """u""" 4
314 .el .IP "\f(CWu\fR" 4
315 .IX Item "u"
316 The symbol is a unique global symbol.  This is a \s-1GNU\s0 extension to the
317 standard set of \s-1ELF\s0 symbol bindings.  For such a symbol the dynamic linker
318 will make sure that in the entire process there is just one symbol with
319 this name and type in use.
320 .ie n .IP """V""" 4
321 .el .IP "\f(CWV\fR" 4
322 .IX Item "V"
323 .PD 0
324 .ie n .IP """v""" 4
325 .el .IP "\f(CWv\fR" 4
326 .IX Item "v"
327 .PD
328 The symbol is a weak object.  When a weak defined symbol is linked with
329 a normal defined symbol, the normal defined symbol is used with no error.
330 When a weak undefined symbol is linked and the symbol is not defined,
331 the value of the weak symbol becomes zero with no error.  On some
332 systems, uppercase indicates that a default value has been specified.
333 .ie n .IP """W""" 4
334 .el .IP "\f(CWW\fR" 4
335 .IX Item "W"
336 .PD 0
337 .ie n .IP """w""" 4
338 .el .IP "\f(CWw\fR" 4
339 .IX Item "w"
340 .PD
341 The symbol is a weak symbol that has not been specifically tagged as a
342 weak object symbol.  When a weak defined symbol is linked with a normal
343 defined symbol, the normal defined symbol is used with no error.
344 When a weak undefined symbol is linked and the symbol is not defined,
345 the value of the symbol is determined in a system-specific manner without
346 error.  On some systems, uppercase indicates that a default value has been
347 specified.
348 .ie n .IP """\-""" 4
349 .el .IP "\f(CW\-\fR" 4
350 .IX Item "-"
351 The symbol is a stabs symbol in an a.out object file.  In this case, the
352 next values printed are the stabs other field, the stabs desc field, and
353 the stab type.  Stabs symbols are used to hold debugging information.
354 .ie n .IP """?""" 4
355 .el .IP "\f(CW?\fR" 4
356 .IX Item "?"
357 The symbol type is unknown, or object file format specific.
358 .RE
359 .RS 4
360 .RE
361 .IP "\(bu" 4
362 The symbol name.  If a symbol has version information associated with it,
363 then the version information is displayed as well.  If the versioned
364 symbol is undefined or hidden from linker, the version string is displayed
365 as a suffix to the symbol name, preceded by an @ character.  For example
366 \&\fBfoo@VER_1\fR.  If the version is the default version to be used when
367 resolving unversioned references to the symbol, then it is displayed as a
368 suffix preceded by two @ characters.  For example \fBfoo@@VER_2\fR.
369 .SH "OPTIONS"
370 .IX Header "OPTIONS"
371 The long and short forms of options, shown here as alternatives, are
372 equivalent.
373 .IP "\fB\-A\fR" 4
374 .IX Item "-A"
375 .PD 0
376 .IP "\fB\-o\fR" 4
377 .IX Item "-o"
378 .IP "\fB\-\-print\-file\-name\fR" 4
379 .IX Item "--print-file-name"
380 .PD
381 Precede each symbol by the name of the input file (or archive member)
382 in which it was found, rather than identifying the input file once only,
383 before all of its symbols.
384 .IP "\fB\-a\fR" 4
385 .IX Item "-a"
386 .PD 0
387 .IP "\fB\-\-debug\-syms\fR" 4
388 .IX Item "--debug-syms"
389 .PD
390 Display all symbols, even debugger-only symbols; normally these are not
391 listed.
392 .IP "\fB\-B\fR" 4
393 .IX Item "-B"
394 The same as \fB\-\-format=bsd\fR (for compatibility with the \s-1MIPS\s0 \fBnm\fR).
395 .IP "\fB\-C\fR" 4
396 .IX Item "-C"
397 .PD 0
398 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
399 .IX Item "--demangle[=style]"
400 .PD
401 Decode (\fIdemangle\fR) low-level symbol names into user-level names.
402 Besides removing any initial underscore prepended by the system, this
403 makes \*(C+ function names readable. Different compilers have different
404 mangling styles. The optional demangling style argument can be used to
405 choose an appropriate demangling style for your compiler.
406 .IP "\fB\-\-no\-demangle\fR" 4
407 .IX Item "--no-demangle"
408 Do not demangle low-level symbol names.  This is the default.
409 .IP "\fB\-\-recurse\-limit\fR" 4
410 .IX Item "--recurse-limit"
411 .PD 0
412 .IP "\fB\-\-no\-recurse\-limit\fR" 4
413 .IX Item "--no-recurse-limit"
414 .IP "\fB\-\-recursion\-limit\fR" 4
415 .IX Item "--recursion-limit"
416 .IP "\fB\-\-no\-recursion\-limit\fR" 4
417 .IX Item "--no-recursion-limit"
418 .PD
419 Enables or disables a limit on the amount of recursion performed
420 whilst demangling strings.  Since the name mangling formats allow for
421 an infinite level of recursion it is possible to create strings whose
422 decoding will exhaust the amount of stack space available on the host
423 machine, triggering a memory fault.  The limit tries to prevent this
424 from happening by restricting recursion to 2048 levels of nesting.
425 .Sp
426 The default is for this limit to be enabled, but disabling it may be
427 necessary in order to demangle truly complicated names.  Note however
428 that if the recursion limit is disabled then stack exhaustion is
429 possible and any bug reports about such an event will be rejected.
430 .IP "\fB\-D\fR" 4
431 .IX Item "-D"
432 .PD 0
433 .IP "\fB\-\-dynamic\fR" 4
434 .IX Item "--dynamic"
435 .PD
436 Display the dynamic symbols rather than the normal symbols.  This is
437 only meaningful for dynamic objects, such as certain types of shared
438 libraries.
439 .IP "\fB\-f\fR \fIformat\fR" 4
440 .IX Item "-f format"
441 .PD 0
442 .IP "\fB\-\-format=\fR\fIformat\fR" 4
443 .IX Item "--format=format"
444 .PD
445 Use the output format \fIformat\fR, which can be \f(CW\*(C`bsd\*(C'\fR,
446 \&\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.
447 Only the first character of \fIformat\fR is significant; it can be
448 either upper or lower case.
449 .IP "\fB\-g\fR" 4
450 .IX Item "-g"
451 .PD 0
452 .IP "\fB\-\-extern\-only\fR" 4
453 .IX Item "--extern-only"
454 .PD
455 Display only external symbols.
456 .IP "\fB\-h\fR" 4
457 .IX Item "-h"
458 .PD 0
459 .IP "\fB\-\-help\fR" 4
460 .IX Item "--help"
461 .PD
462 Show a summary of the options to \fBnm\fR and exit.
463 .IP "\fB\-\-ifunc\-chars=\fR\fI\s-1CHARS\s0\fR" 4
464 .IX Item "--ifunc-chars=CHARS"
465 When display \s-1GNU\s0 indirect function symbols \fBnm\fR will default
466 to using the \f(CW\*(C`i\*(C'\fR character for both local indirect functions and
467 global indirect functions.  The \fB\-\-ifunc\-chars\fR option allows
468 the user to specify a string containing one or two characters. The
469 first character will be used for global indirect function symbols and
470 the second character, if present, will be used for local indirect
471 function symbols.
472 .IP "\fBj\fR" 4
473 .IX Item "j"
474 The same as \fB\-\-format=just\-symbols\fR.
475 .IP "\fB\-l\fR" 4
476 .IX Item "-l"
477 .PD 0
478 .IP "\fB\-\-line\-numbers\fR" 4
479 .IX Item "--line-numbers"
480 .PD
481 For each symbol, use debugging information to try to find a filename and
482 line number.  For a defined symbol, look for the line number of the
483 address of the symbol.  For an undefined symbol, look for the line
484 number of a relocation entry which refers to the symbol.  If line number
485 information can be found, print it after the other symbol information.
486 .IP "\fB\-\-inlines\fR" 4
487 .IX Item "--inlines"
488 When option \fB\-l\fR is active, if the address belongs to a
489 function that was inlined, then this option causes the source 
490 information for all enclosing scopes back to the first non-inlined
491 function to be printed as well.  For example, if \f(CW\*(C`main\*(C'\fR inlines
492 \&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from
493 \&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR
494 will also be printed.
495 .IP "\fB\-n\fR" 4
496 .IX Item "-n"
497 .PD 0
498 .IP "\fB\-v\fR" 4
499 .IX Item "-v"
500 .IP "\fB\-\-numeric\-sort\fR" 4
501 .IX Item "--numeric-sort"
502 .PD
503 Sort symbols numerically by their addresses, rather than alphabetically
504 by their names.
505 .IP "\fB\-p\fR" 4
506 .IX Item "-p"
507 .PD 0
508 .IP "\fB\-\-no\-sort\fR" 4
509 .IX Item "--no-sort"
510 .PD
511 Do not bother to sort the symbols in any order; print them in the order
512 encountered.
513 .IP "\fB\-P\fR" 4
514 .IX Item "-P"
515 .PD 0
516 .IP "\fB\-\-portability\fR" 4
517 .IX Item "--portability"
518 .PD
519 Use the \s-1POSIX.2\s0 standard output format instead of the default format.
520 Equivalent to \fB\-f posix\fR.
521 .IP "\fB\-r\fR" 4
522 .IX Item "-r"
523 .PD 0
524 .IP "\fB\-\-reverse\-sort\fR" 4
525 .IX Item "--reverse-sort"
526 .PD
527 Reverse the order of the sort (whether numeric or alphabetic); let the
528 last come first.
529 .IP "\fB\-S\fR" 4
530 .IX Item "-S"
531 .PD 0
532 .IP "\fB\-\-print\-size\fR" 4
533 .IX Item "--print-size"
534 .PD
535 Print both value and size of defined symbols for the \f(CW\*(C`bsd\*(C'\fR output style.
536 This option has no effect for object formats that do not record symbol
537 sizes, unless \fB\-\-size\-sort\fR is also used in which case a
538 calculated size is displayed.
539 .IP "\fB\-s\fR" 4
540 .IX Item "-s"
541 .PD 0
542 .IP "\fB\-\-print\-armap\fR" 4
543 .IX Item "--print-armap"
544 .PD
545 When listing symbols from archive members, include the index: a mapping
546 (stored in the archive by \fBar\fR or \fBranlib\fR) of which modules
547 contain definitions for which names.
548 .IP "\fB\-t\fR \fIradix\fR" 4
549 .IX Item "-t radix"
550 .PD 0
551 .IP "\fB\-\-radix=\fR\fIradix\fR" 4
552 .IX Item "--radix=radix"
553 .PD
554 Use \fIradix\fR as the radix for printing the symbol values.  It must be
555 \&\fBd\fR for decimal, \fBo\fR for octal, or \fBx\fR for hexadecimal.
556 .IP "\fB\-u\fR" 4
557 .IX Item "-u"
558 .PD 0
559 .IP "\fB\-\-undefined\-only\fR" 4
560 .IX Item "--undefined-only"
561 .PD
562 Display only undefined symbols (those external to each object file).
563 By default both defined and undefined symbols are displayed.
564 .IP "\fB\-U\fR" 4
565 .IX Item "-U"
566 .PD 0
567 .IP "\fB\-\-defined\-only\fR" 4
568 .IX Item "--defined-only"
569 .PD
570 Display only defined symbols for each object file.
571 By default both defined and undefined symbols are displayed.
572 .IP "\fB\-V\fR" 4
573 .IX Item "-V"
574 .PD 0
575 .IP "\fB\-\-version\fR" 4
576 .IX Item "--version"
577 .PD
578 Show the version number of \fBnm\fR and exit.
579 .IP "\fB\-X\fR" 4
580 .IX Item "-X"
581 This option is ignored for compatibility with the \s-1AIX\s0 version of
582 \&\fBnm\fR.  It takes one parameter which must be the string
583 \&\fB32_64\fR.  The default mode of \s-1AIX\s0 \fBnm\fR corresponds
584 to \fB\-X 32\fR, which is not supported by \s-1GNU\s0 \fBnm\fR.
585 .IP "\fB\-\-plugin\fR \fIname\fR" 4
586 .IX Item "--plugin name"
587 Load the plugin called \fIname\fR to add support for extra target
588 types.  This option is only available if the toolchain has been built
589 with plugin support enabled.
590 .Sp
591 If \fB\-\-plugin\fR is not provided, but plugin support has been
592 enabled then \fBnm\fR iterates over the files in
593 \&\fI${libdir}/bfd\-plugins\fR in alphabetic order and the first
594 plugin that claims the object in question is used.
595 .Sp
596 Please note that this plugin search directory is \fInot\fR the one
597 used by \fBld\fR's \fB\-plugin\fR option.  In order to make
598 \&\fBnm\fR use the  linker plugin it must be copied into the
599 \&\fI${libdir}/bfd\-plugins\fR directory.  For \s-1GCC\s0 based compilations
600 the linker plugin is called \fIliblto_plugin.so.0.0.0\fR.  For Clang
601 based compilations it is called \fILLVMgold.so\fR.  The \s-1GCC\s0 plugin
602 is always backwards compatible with earlier versions, so it is
603 sufficient to just copy the newest one.
604 .IP "\fB\-\-size\-sort\fR" 4
605 .IX Item "--size-sort"
606 Sort symbols by size.  For \s-1ELF\s0 objects symbol sizes are read from the
607 \&\s-1ELF,\s0 for other object types the symbol sizes are computed as the
608 difference between the value of the symbol and the value of the symbol
609 with the next higher value.  If the \f(CW\*(C`bsd\*(C'\fR output format is used
610 the size of the symbol is printed, rather than the value, and
611 \&\fB\-S\fR must be used in order both size and value to be printed.
612 .Sp
613 Note \- this option does not work if \fB\-\-undefined\-only\fR has been
614 enabled as undefined symbols have no size.
615 .IP "\fB\-\-special\-syms\fR" 4
616 .IX Item "--special-syms"
617 Display symbols which have a target-specific special meaning.  These
618 symbols are usually used by the target for some special processing and
619 are not normally helpful when included in the normal symbol lists.
620 For example for \s-1ARM\s0 targets this option would skip the mapping symbols
621 used to mark transitions between \s-1ARM\s0 code, \s-1THUMB\s0 code and data.
622 .IP "\fB\-\-synthetic\fR" 4
623 .IX Item "--synthetic"
624 Include synthetic symbols in the output.  These are special symbols
625 created by the linker for various purposes.  They are not shown by
626 default since they are not part of the binary's original source code.
627 .IP "\fB\-\-unicode=\fR\fI[default|invalid|locale|escape|hex|highlight]\fR" 4
628 .IX Item "--unicode=[default|invalid|locale|escape|hex|highlight]"
629 Controls the display of \s-1UTF\-8\s0 encoded multibyte characters in strings.
630 The default (\fB\-\-unicode=default\fR) is to give them no special
631 treatment.  The \fB\-\-unicode=locale\fR option displays the sequence
632 in the current locale, which may or may not support them.  The options
633 \&\fB\-\-unicode=hex\fR and \fB\-\-unicode=invalid\fR display them as
634 hex byte sequences enclosed by either angle brackets or curly braces.
635 .Sp
636 The \fB\-\-unicode=escape\fR option displays them as escape sequences
637 (\fI\euxxxx\fR) and the \fB\-\-unicode=highlight\fR option displays
638 them as escape sequences highlighted in red (if supported by the
639 output device).  The colouring is intended to draw attention to the
640 presence of unicode sequences where they might not be expected.
641 .IP "\fB\-W\fR" 4
642 .IX Item "-W"
643 .PD 0
644 .IP "\fB\-\-no\-weak\fR" 4
645 .IX Item "--no-weak"
646 .PD
647 Do not display weak symbols.
648 .IP "\fB\-\-with\-symbol\-versions\fR" 4
649 .IX Item "--with-symbol-versions"
650 .PD 0
651 .IP "\fB\-\-without\-symbol\-versions\fR" 4
652 .IX Item "--without-symbol-versions"
653 .PD
654 Enables or disables the display of symbol version information.  The
655 version string is displayed as a suffix to the symbol name, preceded
656 by an @ character.  For example \fBfoo@VER_1\fR.  If the version is
657 the default version to be used when resolving unversioned references
658 to the symbol then it is displayed as a suffix preceded by two @
659 characters.  For example \fBfoo@@VER_2\fR.  By default, symbol
660 version information is displayed.
661 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
662 .IX Item "--target=bfdname"
663 Specify an object code format other than your system's default format.
664 .IP "\fB@\fR\fIfile\fR" 4
665 .IX Item "@file"
666 Read command-line options from \fIfile\fR.  The options read are
667 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
668 does not exist, or cannot be read, then the option will be treated
669 literally, and not removed.
670 .Sp
671 Options in \fIfile\fR are separated by whitespace.  A whitespace
672 character may be included in an option by surrounding the entire
673 option in either single or double quotes.  Any character (including a
674 backslash) may be included by prefixing the character to be included
675 with a backslash.  The \fIfile\fR may itself contain additional
676 @\fIfile\fR options; any such options will be processed recursively.
677 .SH "SEE ALSO"
678 .IX Header "SEE ALSO"
679 \&\fBar\fR\|(1), \fBobjdump\fR\|(1), \fBranlib\fR\|(1), and the Info entries for \fIbinutils\fR.
680 .SH "COPYRIGHT"
681 .IX Header "COPYRIGHT"
682 Copyright (c) 1991\-2023 Free Software Foundation, Inc.
683 .PP
684 Permission is granted to copy, distribute and/or modify this document
685 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
686 or any later version published by the Free Software Foundation;
687 with no Invariant Sections, with no Front-Cover Texts, and with no
688 Back-Cover Texts.  A copy of the license is included in the
689 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".