binutils.texi: added nlmconv chapter
[deliverable/binutils-gdb.git] / binutils / binutils.texi
CommitLineData
765a273f 1\input texinfo @c -*- Texinfo -*-
c72af735
RP
2@setfilename binutils.info
3
9abcc3b8
RP
4@ifinfo
5@format
6START-INFO-DIR-ENTRY
d6391983 7* Binutils:: The GNU binary utilities "ar", "ld", "objcopy",
ba7c8e29 8 "objdump", "nm", "size", "strings", "strip", and "ranlib".
9abcc3b8
RP
9END-INFO-DIR-ENTRY
10@end format
11@end ifinfo
c72af735 12
8b2c2275 13@ifinfo
e32341a7 14Copyright @copyright{} 1991, 1992, 1993 Free Software Foundation, Inc.
8b2c2275
RP
15
16Permission is granted to make and distribute verbatim copies of
17this manual provided the copyright notice and this permission notice
18are preserved on all copies.
19
20@ignore
21Permission is granted to process this file through TeX and print the
22results, provided the printed document carries a copying permission
23notice identical to this one except for the removal of this paragraph
24(this paragraph not being relevant to the printed manual).
25
26@end ignore
27
28Permission is granted to copy and distribute modified versions of this
29manual under the conditions for verbatim copying, provided also that
30the entire resulting derived work is distributed under the terms of a
31permission notice identical to this one.
32
33Permission is granted to copy and distribute translations of this manual
34into another language, under the above conditions for modified versions.
35@end ifinfo
36
c72af735
RP
37@synindex ky cp
38@c
df14d957 39@c This file documents the GNU binary utilities "ar", "ld", "objcopy",
ba7c8e29 40@c "objdump", "nm", "size", "strings", "strip", and "ranlib".
c72af735 41@c
e32341a7 42@c Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
c72af735
RP
43@c
44@c This text may be freely distributed under the terms of the GNU
45@c General Public License.
46@c
27e94bd5 47
c72af735
RP
48@setchapternewpage odd
49@settitle GNU Binary Utilities
27e94bd5
RP
50@c @smallbook
51@c @cropmarks
4928b97b
RP
52@titlepage
53@finalout
c72af735 54@title The GNU Binary Utilities
b6216af2 55@subtitle Version 2.2
c72af735 56@sp 1
e32341a7 57@subtitle May 1993
c72af735
RP
58@author Roland H. Pesch
59@author Cygnus Support
60@page
61
62@tex
650a49f0 63{\parskip=0pt \hfill Cygnus Support\par \hfill
c72af735
RP
64\TeX{}info \texinfoversion\par }
65@end tex
66
67@vskip 0pt plus 1filll
e32341a7 68Copyright @copyright{} 1991, 1992, 1993 Free Software Foundation, Inc.
c72af735
RP
69
70Permission is granted to make and distribute verbatim copies of
71this manual provided the copyright notice and this permission notice
72are preserved on all copies.
73
74Permission is granted to copy and distribute modified versions of this
75manual under the conditions for verbatim copying, provided also that
76the entire resulting derived work is distributed under the terms of a
77permission notice identical to this one.
78
79Permission is granted to copy and distribute translations of this manual
80into another language, under the above conditions for modified versions.
81@end titlepage
82
83@node Top, ar, (dir), (dir)
84@chapter Introduction
85
86@cindex version
87This brief manual contains preliminary documentation for the GNU binary
b6216af2 88utilities (collectively version 2.2):
8b2c2275
RP
89
90@iftex
c72af735
RP
91@table @code
92@item ar
93Create, modify, and extract from archives
94
95@item nm
96List symbols from object files
97
eed5eeab
DM
98@item objcopy
99Copy and translate object files
100
c72af735
RP
101@item objdump
102Display information from object files
103
104@item ranlib
105Generate index to archive contents
106
107@item size
108List section sizes and total size
109
ba7c8e29
DM
110@item strings
111List printable strings from files
112
c72af735
RP
113@item strip
114Discard symbols
115@end table
8b2c2275 116@end iftex
c72af735
RP
117
118@menu
8b2c2275
RP
119* ar:: Create, modify, and extract from archives
120* ld:(ld)Overview. Combine object and archive files
121* nm:: List symbols from object files
eed5eeab 122* objcopy:: Copy and translate object files
8b2c2275
RP
123* objdump:: Display information from object files
124* ranlib:: Generate index to archive contents
125* size:: List section sizes and total size
ba7c8e29 126* strings:: List printable strings from files
8b2c2275 127* strip:: Discard symbols
b6216af2 128* c++filt:: Filter to demangle encoded C++ symbols
94e9ad77 129* nlmconv:: Converts object code into an NLM
8b2c2275 130* Index::
c72af735
RP
131@end menu
132
eed5eeab 133@node ar, nm, Top, Top
c72af735
RP
134@chapter ar
135
136@kindex ar
137@cindex archives
138@cindex collections of files
139@smallexample
650a49f0 140ar [-]@var{p}[@var{mod} [@var{relpos}]] @var{archive} [@var{member}@dots{}]
4d9b5d5a 141ar -M [ <mri-script ]
c72af735
RP
142@end smallexample
143
144The GNU @code{ar} program creates, modifies, and extracts from
145archives. An @dfn{archive} is a single file holding a collection of
146other files in a structure that makes it possible to retrieve
147the original individual files (called @dfn{members} of the archive).
148
149The original files' contents, mode (permissions), timestamp, owner, and
ec40bbb8 150group are preserved in the archive, and can be restored on
c72af735
RP
151extraction.
152
153@cindex name length
154GNU @code{ar} can maintain archives whose members have names of any
155length; however, depending on how @code{ar} is configured on your
ec40bbb8
DM
156system, a limit on member-name length may be imposed for compatibility
157with archive formats maintained with other tools. If it exists, the
c72af735
RP
158limit is often 15 characters (typical of formats related to a.out) or 16
159characters (typical of formats related to coff).
160
161@cindex libraries
162@code{ar} is considered a binary utility because archives of this sort
163are most often used as @dfn{libraries} holding commonly needed
164subroutines.
165
166@cindex symbol index
e31e9a8d 167@code{ar} creates an index to the symbols defined in relocatable
c72af735
RP
168object modules in the archive when you specify the modifier @samp{s}.
169Once created, this index is updated in the archive whenever @code{ar}
170makes a change to its contents (save for the @samp{q} update operation).
171An archive with such an index speeds up linking to the library, and
172allows routines in the library to call each other without regard to
173their placement in the archive.
174
918c2f61 175You may use @samp{nm -s} or @samp{nm --print-armap} to list this index
c72af735
RP
176table. If an archive lacks the table, another form of @code{ar} called
177@code{ranlib} can be used to add just the table.
178
765a273f
RP
179@cindex compatibility, @code{ar}
180@cindex @code{ar} compatibility
181GNU @code{ar} is designed to be compatible with two different
182facilities. You can control its activity using command-line options,
183like the different varieties of @code{ar} on Unix systems; or, if you
184specify the single command-line option @samp{-M}, you can control it
185with a script supplied via standard input, like the MRI ``librarian''
186program.
187
188@menu
189* ar-cmdline:: Controlling @code{ar} on the command line
190* ar-scripts:: Controlling @code{ar} with a script
191@end menu
192
193@page
194@node ar-cmdline, ar-scripts, ar, ar
195@section Controlling @code{ar} on the command line
196
197@smallexample
650a49f0 198ar [-]@var{p}[@var{mod} [@var{relpos}]] @var{archive} [@var{member}@dots{}]
765a273f
RP
199@end smallexample
200
201@cindex Unix compatibility, @code{ar}
202When you use @code{ar} in the Unix style, @code{ar} insists on at least two
203arguments to execute: one keyletter specifying the @emph{operation}
204(optionally accompanied by other keyletters specifying
205@emph{modifiers}), and the archive name to act on.
c72af735 206
650a49f0 207Most operations can also accept further @var{member} arguments,
c72af735
RP
208specifying particular files to operate on.
209
210GNU @code{ar} allows you to mix the operation code @var{p} and modifier
211flags @var{mod} in any order, within the first command-line argument.
212
213If you wish, you may begin the first command-line argument with a
214dash.
215
216@cindex operations on archive
217The @var{p} keyletter specifies what operation to execute; it may be
218any of the following, but you must specify only one of them:
219
220@table @code
221@item d
222@cindex deleting from archive
223@emph{Delete} modules from the archive. Specify the names of modules to
650a49f0 224be deleted as @var{member}@dots{}; the archive is untouched if you
c72af735
RP
225specify no files to delete.
226
e31e9a8d 227If you specify the @samp{v} modifier, @code{ar} lists each module
c72af735
RP
228as it is deleted.
229
230@item m
231@cindex moving in archive
232Use this operation to @emph{move} members in an archive.
233
234The ordering of members in an archive can make a difference in how
235programs are linked using the library, if a symbol is defined in more
236than one member.
237
238If no modifiers are used with @code{m}, any members you name in the
650a49f0 239@var{member} arguments are moved to the @emph{end} of the archive;
c72af735
RP
240you can use the @samp{a}, @samp{b}, or @samp{i} modifiers to move them to a
241specified place instead.
242
243@item p
244@cindex printing from archive
245@emph{Print} the specified members of the archive, to the standard
246output file. If the @samp{v} modifier is specified, show the member
247name before copying its contents to standard output.
248
650a49f0 249If you specify no @var{member} arguments, all the files in the archive are
ec40bbb8 250printed.
c72af735
RP
251
252@item q
253@cindex quick append to archive
650a49f0 254@emph{Quick append}; add the files @var{member}@dots{} to the end of
ec40bbb8 255@var{archive}, without checking for replacement.
c72af735
RP
256
257The modifiers @samp{a}, @samp{b}, and @samp{i} do @emph{not} affect this
258operation; new members are always placed at the end of the archive.
259
260The modifier @samp{v} makes @code{ar} list each file as it is appended.
261
262Since the point of this operation is speed, the archive's symbol table
263index is not updated, even if it already existed; you can use @samp{ar s} or
264@code{ranlib} explicitly to update the symbol table index.
265
266@item r
267@cindex replacement in archive
650a49f0 268Insert the files @var{member}@dots{} into @var{archive} (with
ec40bbb8
DM
269@emph{replacement}). This operation differs from @samp{q} in that any
270previously existing members are deleted if their names match those being
271added.
c72af735 272
650a49f0 273If one of the files named in @var{member}@dots{} does not exist, @code{ar}
c72af735
RP
274displays an error message, and leaves undisturbed any existing members
275of the archive matching that name.
276
277By default, new members are added at the end of the file; but you may
278use one of the modifiers @samp{a}, @samp{b}, or @samp{i} to request
279placement relative to some existing member.
280
281The modifier @samp{v} used with this operation elicits a line of
282output for each file inserted, along with one of the letters @samp{a} or
283@samp{r} to indicate whether the file was appended (no old member
284deleted) or replaced.
285
286@item t
287@cindex contents of archive
288Display a @emph{table} listing the contents of @var{archive}, or those
650a49f0 289of the files listed in @var{member}@dots{} that are present in the
c72af735
RP
290archive. Normally only the member name is shown; if you also want to
291see the modes (permissions), timestamp, owner, group, and size, you can
292request that by also specifying the @samp{v} modifier.
293
650a49f0 294If you do not specify a @var{member}, all files in the archive
c72af735
RP
295are listed.
296
297@cindex repeated names in archive
298@cindex name duplication in archive
299If there is more than one file with the same name (say, @samp{fie}) in
e31e9a8d 300an archive (say @samp{b.a}), @samp{ar t b.a fie} lists only the
c72af735
RP
301first instance; to see them all, you must ask for a complete
302listing---in our example, @samp{ar t b.a}.
303@c WRS only; per Gumby, this is implementation-dependent, and in a more
304@c recent case in fact works the other way.
305
306@item x
307@cindex extract from archive
650a49f0 308@emph{Extract} members (named @var{member}) from the archive. You can
c72af735
RP
309use the @samp{v} modifier with this operation, to request that
310@code{ar} list each name as it extracts it.
311
650a49f0 312If you do not specify a @var{member}, all files in the archive
c72af735
RP
313are extracted.
314
315@end table
316
317A number of modifiers (@var{mod}) may immediately follow the @var{p}
318keyletter, to specify variations on an operation's behavior:
319
320@table @code
321@item a
322@cindex relative placement in archive
323Add new files @emph{after} an existing member of the
ec40bbb8 324archive. If you use the modifier @samp{a}, the name of an existing archive
650a49f0 325member must be present as the @var{relpos} argument, before the
c72af735
RP
326@var{archive} specification.
327
328@item b
329Add new files @emph{before} an existing member of the
ec40bbb8 330archive. If you use the modifier @samp{b}, the name of an existing archive
650a49f0 331member must be present as the @var{relpos} argument, before the
c72af735
RP
332@var{archive} specification. (same as @samp{i}).
333
334@item c
335@cindex creating archives
336@emph{Create} the archive. The specified @var{archive} is always
650a49f0 337created if it did not exist, when you request an update. But a warning is
c72af735
RP
338issued unless you specify in advance that you expect to create it, by
339using this modifier.
340
341@item i
342Insert new files @emph{before} an existing member of the
ec40bbb8 343archive. If you use the modifier @samp{i}, the name of an existing archive
650a49f0 344member must be present as the @var{relpos} argument, before the
c72af735
RP
345@var{archive} specification. (same as @samp{b}).
346
347@item l
348This modifier is accepted but not used.
349@c whaffor ar l modifier??? presumably compat; with
350@c what???---pesch@@cygnus.com, 25jan91
351
352@item o
353@cindex dates in archive
354Preserve the @emph{original} dates of members when extracting them. If
355you do not specify this modifier, files extracted from the archive
e31e9a8d 356are stamped with the time of extraction.
c72af735
RP
357
358@item s
359@cindex writing archive index
360Write an object-file index into the archive, or update an existing one,
361even if no other change is made to the archive. You may use this modifier
362flag either with any operation, or alone. Running @samp{ar s} on an
363archive is equivalent to running @samp{ranlib} on it.
364
365@item u
366@cindex updating an archive
b703c078 367Normally, @samp{ar r}@dots{} inserts all files
c72af735
RP
368listed into the archive. If you would like to insert @emph{only} those
369of the files you list that are newer than existing members of the same
370names, use this modifier. The @samp{u} modifier is allowed only for the
371operation @samp{r} (replace). In particular, the combination @samp{qu} is
372not allowed, since checking the timestamps would lose any speed
373advantage from the operation @samp{q}.
374
375@item v
376This modifier requests the @emph{verbose} version of an operation. Many
377operations display additional information, such as filenames processed,
378when the modifier @samp{v} is appended.
4d9b5d5a
DM
379
380@item V
381This modifier shows the version number of @code{ar}.
765a273f
RP
382@end table
383
384@node ar-scripts, , ar-cmdline, ar
385@section Controlling @code{ar} with a script
386
387@smallexample
388ar -M [ <@var{script} ]
389@end smallexample
390
391@cindex MRI compatibility, @code{ar}
392@cindex scripts, @code{ar}
393If you use the single command-line option @samp{-M} with @code{ar}, you
394can control its operation with a rudimentary command language. This
e31e9a8d 395form of @code{ar} operates interactively if standard input is coming
765a273f
RP
396directly from a terminal. During interactive use, @code{ar} prompts for
397input (the prompt is @samp{AR >}), and continues executing even after
398errors. If you redirect standard input to a script file, no prompts are
e31e9a8d 399issued, and @code{ar} abandons execution (with a nonzero exit code)
765a273f
RP
400on any error.
401
402The @code{ar} command language is @emph{not} designed to be equivalent
403to the command-line options; in fact, it provides somewhat less control
404over archives. The only purpose of the command language is to ease the
405transition to GNU @code{ar} for developers who already have scripts
406written for the MRI ``librarian'' program.
407
408The syntax for the @code{ar} command language is straightforward:
409@itemize @bullet
410@item
411commands are recognized in upper or lower case; for example, @code{LIST}
412is the same as @code{list}. In the following descriptions, commands are
413shown in upper case for clarity.
414
415@item
416a single command may appear on each line; it is the first word on the
417line.
418
419@item
420empty lines are allowed, and have no effect.
421
422@item
423comments are allowed; text after either of the characters @samp{*}
424or @samp{;} is ignored.
425
426@item
427Whenever you use a list of names as part of the argument to an @code{ar}
428command, you can separate the individual names with either commas or
429blanks. Commas are shown in the explanations below, for clarity.
430
431@item
432@samp{+} is used as a line continuation character; if @samp{+} appears
433at the end of a line, the text on the following line is considered part
434of the current command.
435@end itemize
436
437Here are the commands you can use in @code{ar} scripts, or when using
438@code{ar} interactively. Three of them have special significance:
439
440@code{OPEN} or @code{CREATE} specify a @dfn{current archive}, which is
441a temporary file required for most of the other commands.
442
443@code{SAVE} commits the changes so far specified by the script. Prior
444to @code{SAVE}, commands affect only the temporary copy of the current
445archive.
446
447@table @code
448@item ADDLIB @var{archive}
449@itemx ADDLIB @var{archive} (@var{module}, @var{module}, @dots{} @var{module})
450Add all the contents of @var{archive} (or, if specified, each named
451@var{module} from @var{archive}) to the current archive.
452
453Requires prior use of @code{OPEN} or @code{CREATE}.
454
650a49f0 455@item ADDMOD @var{member}, @var{member}, @dots{} @var{member}
765a273f
RP
456@c FIXME! w/Replacement?? If so, like "ar r @var{archive} @var{names}"
457@c else like "ar q..."
650a49f0 458Add each named @var{member} as a module in the current archive.
765a273f
RP
459
460Requires prior use of @code{OPEN} or @code{CREATE}.
461
462@item CLEAR
463Discard the contents of the current archive, cancelling the effect of
464any operations since the last @code{SAVE}. May be executed (with no
465effect) even if no current archive is specified.
466
467@item CREATE @var{archive}
468Creates an archive, and makes it the current archive (required for many
469other commands). The new archive is created with a temporary name; it
470is not actually saved as @var{archive} until you use @code{SAVE}.
471You can overwrite existing archives; similarly, the contents of any
472existing file named @var{archive} will not be destroyed until @code{SAVE}.
473
474@item DELETE @var{module}, @var{module}, @dots{} @var{module}
475Delete each listed @var{module} from the current archive; equivalent to
476@samp{ar -d @var{archive} @var{module} @dots{} @var{module}}.
477
478Requires prior use of @code{OPEN} or @code{CREATE}.
479
480@item DIRECTORY @var{archive} (@var{module}, @dots{} @var{module})
481@itemx DIRECTORY @var{archive} (@var{module}, @dots{} @var{module}) @var{outputfile}
482List each named @var{module} present in @var{archive}. The separate
483command @code{VERBOSE} specifies the form of the output: when verbose
484output is off, output is like that of @samp{ar -t @var{archive}
b703c078
DM
485@var{module}@dots{}}. When verbose output is on, the listing is like
486@samp{ar -tv @var{archive} @var{module}@dots{}}.
765a273f
RP
487
488Output normally goes to the standard output stream; however, if you
489specify @var{outputfile} as a final argument, @code{ar} directs the
490output to that file.
491
492@item END
493Exit from @code{ar}, with a @code{0} exit code to indicate successful
494completion. This command does not save the output file; if you have
495changed the current archive since the last @code{SAVE} command, those
496changes are lost.
497
498@item EXTRACT @var{module}, @var{module}, @dots{} @var{module}
499Extract each named @var{module} from the current archive, writing them
500into the current directory as separate files. Equivalent to @samp{ar -x
b703c078 501@var{archive} @var{module}@dots{}}.
765a273f
RP
502
503Requires prior use of @code{OPEN} or @code{CREATE}.
504
505@ignore
506@c FIXME Tokens but no commands???
507@item FULLDIR
508
509@item HELP
510@end ignore
511
512@item LIST
513Display full contents of the current archive, in ``verbose'' style
514regardless of the state of @code{VERBOSE}. The effect is like @samp{ar
515tv @var{archive}}). (This single command is a GNU @code{ld}
516enhancement, rather than present for MRI compatibility.)
517
518Requires prior use of @code{OPEN} or @code{CREATE}.
519
520@item OPEN @var{archive}
521Opens an existing archive for use as the current archive (required for
522many other commands). Any changes as the result of subsequent commands
523will not actually affect @var{archive} until you next use @code{SAVE}.
524
525@item REPLACE @var{module}, @var{module}, @dots{} @var{module}
526In the current archive, replace each existing @var{module} (named in
527the @code{REPLACE} arguments) from files in the current working directory.
528To execute this command without errors, both the file, and the module in
529the current archive, must exist.
530
531Requires prior use of @code{OPEN} or @code{CREATE}.
532
533@item VERBOSE
534Toggle an internal flag governing the output from @code{DIRECTORY}.
535When the flag is on, @code{DIRECTORY} output matches output from
b703c078 536@samp{ar -tv }@dots{}.
765a273f
RP
537
538@item SAVE
539Commit your changes to the current archive, and actually save it as a
540file with the name specified in the last @code{CREATE} or @code{OPEN}
541command.
542
543Requires prior use of @code{OPEN} or @code{CREATE}.
c72af735
RP
544
545@end table
546
8b2c2275
RP
547@iftex
548@node ld
c72af735
RP
549@chapter ld
550@cindex linker
551@kindex ld
552The GNU linker @code{ld} is now described in a separate manual.
27e94bd5 553@xref{Top,, Overview,, Using LD: the GNU linker}.
8b2c2275 554@end iftex
c72af735 555
eed5eeab 556@node nm, objcopy, ar, Top
c72af735
RP
557@chapter nm
558@cindex symbols
559@kindex nm
560
561@smallexample
d6a4c375
DM
562nm [ -a | --debug-syms ] [ -g | --extern-only ]
563 [ -B ] [ -C | --demangle ]
6cfbdb50
DM
564 [ -s | --print-armap ] [ -A | -o | --print-file-name ]
565 [ -n | -v | --numeric-sort ] [ -p | --no-sort ]
4d9b5d5a 566 [ -r | --reverse-sort ] [ -u | --undefined-only ]
6cfbdb50
DM
567 [ -t @var{radix} | --radix=@var{radix} ] [ -P | --portability ]
568 [ --target=@var{bfdname} ] [ -f @var{format} | --format=@var{format} ]
b26ac613 569 [ -V | --version ] [ --help ] [ @var{objfile}@dots{} ]
c72af735
RP
570@end smallexample
571
b703c078 572GNU @code{nm} lists the symbols from object files @var{objfile}@dots{}.
6cfbdb50
DM
573If no object files are listed as arguments, @code{nm} assumes
574@file{a.out}.
575
576For each symbol, @code{nm} shows:
577
578@itemize @bullet
579@item
580The symbol value, in the radix selected by options (see below), or
581hexadecimal by default.
582
583@item
584The symbol type. At least the following types are used; others are, as
585well, depending on the object file format. If lowercase, the symbol is
586local; if uppercase, the symbol is global (external).
587
588@c Some more detail on exactly what these symbol types are used for
589@c would be nice.
590@table @code
591@item A
592Absolute.
593
594@item B
595BSS (uninitialized data).
596
597@item C
598Common.
599
600@item D
601Initialized data.
602
603@item I
604Indirect reference.
605
606@item T
607Text (program code).
608
609@item U
610Undefined.
611@end table
612
613@item
614The symbol name.
615@end itemize
c72af735
RP
616
617The long and short forms of options, shown here as alternatives, are
618equivalent.
619
620@table @code
6cfbdb50
DM
621@item -A
622@itemx -o
623@itemx --print-file-name
624@cindex input file name
625@cindex file name
626@cindex source file name
627Precede each symbol by the name of the input file (or archive element)
628in which it was found, rather than identifying the input file once only,
629before all of its symbols.
c72af735
RP
630
631@item -a
918c2f61 632@itemx --debug-syms
c72af735 633@cindex debugging symbols
6cfbdb50
DM
634Display all symbols, even debugger-only symbols; normally these are not
635listed.
636
68dd5295
DM
637@item -B
638@cindex @code{nm} format
639@cindex @code{nm} compatibility
d6a4c375
DM
640The same as @samp{--format=bsd} (for compatibility with the MIPS @code{nm}).
641
642@item -C
643@itemx --demangle
644@cindex demangling C++ symbols
645Decode (@dfn{demangle}) low-level symbol names into user-level names.
646Besides removing any initial underscore prepended by the system, this
647makes C++ function names readable. @xref{c++filt}, for more information
648on demangling.
68dd5295 649
6cfbdb50
DM
650@item -f @var{format}
651@itemx --format=@var{format}
68dd5295
DM
652@cindex @code{nm} format
653@cindex @code{nm} compatibility
6cfbdb50
DM
654Use the output format @var{format}, which can be @code{bsd},
655@code{sysv}, or @code{posix}. The default is @code{bsd}.
b26ac613 656Only the first character of @var{format} is significant; it can be
6cfbdb50 657either upper or lower case.
c72af735
RP
658
659@item -g
918c2f61 660@itemx --extern-only
c72af735
RP
661@cindex external symbols
662Display only external symbols.
663
b26ac613
DM
664@item -n
665@itemx -v
666@itemx --numeric-sort
667Sort symbols numerically by their addresses, rather than alphabetically
668by their names.
669
c72af735 670@item -p
918c2f61 671@itemx --no-sort
c72af735 672@cindex sorting symbols
650a49f0 673Do not bother to sort the symbols in any order; print them in the order
6cfbdb50
DM
674encountered.
675
676@item -P
677@itemx --portability
678Use the POSIX.2 standard output format instead of the default format.
679Equivalent to @samp{-f posix}.
c72af735 680
c72af735 681@item -s
918c2f61 682@itemx --print-armap
c72af735
RP
683@cindex symbol index, listing
684When listing symbols from archive members, include the index: a mapping
ec40bbb8
DM
685(stored in the archive by @code{ar} or @code{ranlib}) of which modules
686contain definitions for which names.
c72af735 687
c72af735 688@item -r
918c2f61 689@itemx --reverse-sort
ec40bbb8 690Reverse the order of the sort (whether numeric or alphabetic); let the
c72af735
RP
691last come first.
692
6cfbdb50
DM
693@item -t @var{radix}
694@itemx --radix=@var{radix}
695Use @var{radix} as the radix for printing the symbol values. It must be
696@samp{d} for decimal, @samp{o} for octal, or @samp{x} for hexadecimal.
697
ec40bbb8 698@item --target=@var{bfdname}
c72af735
RP
699@cindex object code format
700Specify an object code format other than your system's default format.
701@xref{objdump}, for information on listing available formats.
c72af735
RP
702
703@item -u
918c2f61 704@itemx --undefined-only
c72af735
RP
705@cindex external symbols
706@cindex undefined symbols
707Display only undefined symbols (those external to each object file).
708
6cfbdb50
DM
709@item -V
710@itemx --version
b26ac613
DM
711Show the version number of @code{nm} and exit.
712
713@item --help
714Show a summary of the options to @code{nm} and exit.
c72af735
RP
715@end table
716
eed5eeab
DM
717@node objcopy, objdump, nm, Top
718@chapter objcopy
719
720@smallexample
721objcopy [ -F @var{format} | --format=@var{format} ]
722 [ -I @var{format} | --input-format=@var{format} ]
723 [ -O @var{format} | --output-format=@var{format} ]
724 [ -S | --strip-all ] [ -g | --strip-debug ]
725 [ -x | --discard-all ] [ -X | --discard-locals ]
726 [ -v | --verbose ] [ -V | --version ] [ --help ]
727 @var{infile} [@var{outfile}]
728@end smallexample
729
730The GNU @code{objcopy} utility copies the contents of an object file to
731another. @code{objcopy} uses the GNU BFD Library to read and write the
732object files. It can write the destination object file in a format
733different from that of the source object file. The exact behavior of
734@code{objcopy} is controlled by command-line options.
735
736@code{objcopy} creates temporary files to do its translations and
737deletes them afterward. @code{objcopy} uses BFD to do all its
738translation work; it knows about all the formats BFD knows about, and
739thus is able to recognize most formats without being told explicitly.
740@xref{BFD,,BFD,ld.info,Using LD, the GNU linker}.
741
742@table @code
743@item @var{infile}
744@itemx @var{outfile}
745The source and output files respectively.
746If you do not specify @var{outfile}, @code{objcopy} creates a
747temporary file and destructively renames the result with
748the name of the input file.
749
750@item -I @var{format}
751@itemx --input-format=@var{format}
752Consider the source file's object format to be @var{format}, rather than
753attempting to deduce it.
754
755@item -O @var{format}
756@itemx --output-format=@var{format}
757Write the output file using the object format @var{format}.
758
759@item -F @var{format}
760@itemx --format=@var{format}
761Use @var{format} as the object format for both the input and the output
762file; i.e. simply transfer data from source to destination with no
763translation.
764
765@item -S
766@itemx --strip-all
767Do not copy relocation and symbol information from the source file.
768
769@item -g
770@itemx --strip-debug
771Do not copy debugging symbols from the source file.
772
773@item -x
774@itemx --discard-all
775Do not copy non-global symbols from the source file.
776@c FIXME any reason to prefer "non-global" to "local" here?
777
778@item -X
779@itemx --discard-locals
780Do not copy compiler-generated local symbols.
781(These usually start with @samp{L} or @samp{.}.)
782
783@item -V
784@itemx --version
785Show the version number of @code{objcopy}.
786
787@item -v
788@itemx --verbose
789Verbose output: list all object files modified. In the case of
790archives, @samp{objcopy -V} lists all members of the archive.
791
792@item --help
793Show a summary of the options to @code{objcopy}.
794@end table
795
796@node objdump, ranlib, objcopy, Top
c72af735
RP
797@chapter objdump
798
799@cindex object file information
800@kindex objdump
801
802@smallexample
4d9b5d5a
DM
803objdump [ -a ] [ -b @var{bfdname} ] [ -d ] [ -f ]
804 [ -h | --header ] [ -i ] [ -j @var{section} ] [ -l ]
b26ac613
DM
805 [ -m @var{machine} ] [ -r | --reloc ] [ -s ] [ --stabs ]
806 [ -t | --syms ] [ -x ] [ --version ] [ --help ]
4d9b5d5a 807 @var{objfile}@dots{}
c72af735
RP
808@end smallexample
809
810@code{objdump} displays information about one or more object files.
811The options control what particular information to display. This
812information is mostly useful to programmers who are working on the
813compilation tools, as opposed to programmers who just want their
814program to compile and work.
815
b26ac613
DM
816@var{objfile}@dots{} are the object files to be examined. When you
817specify archives, @code{objdump} shows information on each of the member
818object files.
819
c72af735 820The long and short forms of options, shown here as alternatives, are
ed78872a 821equivalent. At least one option besides @samp{-l} must be given.
c72af735
RP
822
823@table @code
c72af735
RP
824@item -a
825@c print_arelt_descr
826@cindex archive headers
ec40bbb8 827If any of the @var{objfile} files are archives, display the archive
c72af735
RP
828header information (in a format similar to @samp{ls -l}). Besides the
829information you could list with @samp{ar tv}, @samp{objdump -a} shows
830the object file format of each archive member.
831
c5f0c938 832@c suggest longname --target or --format or --bfd
c72af735
RP
833@item -b @var{bfdname}
834@cindex object code format
ec40bbb8
DM
835Specify that the object-code format for the object files is
836@var{bfdname}. This option may not be necessary; @var{objdump} can
837automatically recognize many formats.
838
839For example,
c72af735
RP
840@example
841objdump -b oasys -m vax -h fu.o
842@end example
843@noindent
ec40bbb8
DM
844displays summary information from the section headers (@samp{-h}) of
845@file{fu.o}, which is explicitly identified (@samp{-m}) as a VAX object
c72af735
RP
846file in the format produced by Oasys compilers. You can list the
847formats available with the @samp{-i} option.
848
849@item -d
850@cindex disassembling object code
851@cindex machine instructions
852Disassemble. Display the assembler mnemonics for the machine
ec40bbb8 853instructions from @var{objfile}.
c72af735
RP
854
855@item -f
856@cindex object file header
857File header. Display summary information from the overall header of
ec40bbb8 858each of the @var{objfile} files.
c72af735
RP
859
860@item -h
c5f0c938 861@itemx --header
c72af735
RP
862@cindex section headers
863Header. Display summary information from the section headers of the
864object file.
865
b26ac613
DM
866@item --help
867Print a summary of the options to @code{objdump} and exit.
868
c72af735
RP
869@item -i
870@cindex architectures available
871@cindex object formats available
872Display a list showing all architectures and object formats available
ec40bbb8 873for specification with @samp{-b} or @samp{-m}.
c72af735 874
c5f0c938 875@c suggest longname --section
c72af735
RP
876@item -j @var{name}
877@cindex section information
ec40bbb8 878Display information only for section @var{name}.
c72af735 879
c5f0c938 880@c suggest longname --label or --linespec
c72af735
RP
881@item -l
882@cindex source filenames for object files
883Label the display (using debugging information) with the source filename
884and line numbers corresponding to the object code shown.
885
c5f0c938 886@c suggest longname --architecture
c72af735
RP
887@item -m @var{machine}
888@cindex architecture
ec40bbb8 889Specify that the object files @var{objfile} are for architecture
c72af735
RP
890@var{machine}. You can list available architectures using the @samp{-i}
891option.
892
893@item -r
c5f0c938 894@itemx --reloc
c72af735
RP
895@cindex relocation entries, in object file
896Relocation. Print the relocation entries of the file.
897
898@item -s
899@cindex sections, full contents
900@cindex object file sections
901Display the full contents of any sections requested.
902
c5f0c938
JG
903@item --stabs
904@cindex stab
905@cindex .stab
906@cindex debug symbols
907@cindex ELF object file format
c3c93fda
JG
908Display the full contents of any sections requested. Display the
909contents of the .stab and .stab.index and .stab.excl sections from an
910ELF file. This is only useful on systems (such as Solaris 2.0) in which
911@code{.stab} debugging symbol-table entries are carried in an ELF
912section. In most other file formats, debugging symbol-table entries are
c5f0c938
JG
913interleaved with linkage symbols, and are visible in the @samp{--syms}
914output.
915
c72af735 916@item -t
c5f0c938 917@itemx --syms
c72af735
RP
918@cindex symbol table entries, printing
919Symbol Table. Print the symbol table entries of the file.
920This is similar to the information provided by the @samp{nm} program.
921
b26ac613
DM
922@item --version
923Print the version number of @code{objdump} and exit.
924
c72af735
RP
925@item -x
926@cindex all header information, object file
927@cindex header information, all
928Display all available header information, including the symbol table and
929relocation entries. Using @samp{-x} is equivalent to specifying all of
930@samp{-a -f -h -r -t}.
c72af735
RP
931@end table
932
933@node ranlib, size, objdump, Top
934@chapter ranlib
935
936@kindex ranlib
937@cindex archive contents
938@cindex symbol index
939
940@smallexample
4d9b5d5a 941ranlib [-vV] @var{archive}
c72af735
RP
942@end smallexample
943
ec40bbb8 944@code{ranlib} generates an index to the contents of an archive and
c72af735
RP
945stores it in the archive. The index lists each symbol defined by a
946member of an archive that is a relocatable object file.
947
918c2f61 948You may use @samp{nm -s} or @samp{nm --print-armap} to list this index.
c72af735 949
ec40bbb8 950An archive with such an index speeds up linking to the library and
c72af735
RP
951allows routines in the library to call each other without regard to
952their placement in the archive.
953
954The GNU @code{ranlib} program is another form of GNU @code{ar}; running
955@code{ranlib} is completely equivalent to executing @samp{ar -s}.
956@xref{ar}.
957
4d9b5d5a
DM
958@table @code
959@item -v
960@itemx -V
961Show the version number of @code{ranlib}.
c3f471a4 962@end table
4d9b5d5a 963
ba7c8e29 964@node size, strings, ranlib, Top
c72af735
RP
965@chapter size
966
967@kindex size
968@cindex section sizes
969
970@smallexample
4d9b5d5a
DM
971size [ -A | -B | --format=@var{compatibility} ]
972 [ --help ] [ -d | -o | -x | --radix=@var{number} ]
973 [ --target=@var{bfdname} ] [ -V | --version ]
974 @var{objfile}@dots{}
c72af735
RP
975@end smallexample
976
977The GNU @code{size} utility lists the section sizes---and the total
ec40bbb8
DM
978size---for each of the object or archive files @var{objfile} in its
979argument list. By default, one line of output is generated for each
980object file or each module in an archive.
c72af735 981
b26ac613
DM
982@var{objfile}@dots{} are the object files to be examined.
983
c72af735 984The command line options have the following meanings:
c72af735 985
b26ac613 986@table @code
c72af735
RP
987@item -A
988@itemx -B
ec40bbb8 989@itemx --format=@var{compatibility}
68dd5295 990@cindex @code{size} display format
c72af735
RP
991Using one of these options, you can choose whether the output from GNU
992@code{size} resembles output from System V @code{size} (using @samp{-A},
ec40bbb8
DM
993or @samp{--format=sysv}), or Berkeley @code{size} (using @samp{-B}, or
994@samp{--format=berkeley}). The default is the one-line format similar to
c72af735 995Berkeley's.
918c2f61
PB
996@c Bonus for doc-source readers: you can also say --format=strange (or
997@c anything else that starts with 's') for sysv, and --format=boring (or
c72af735
RP
998@c anything else that starts with 'b') for Berkeley.
999
1000Here is an example of the Berkeley (default) format of output from
1001@code{size}:
1002@smallexample
4d9b5d5a 1003size --format Berkeley ranlib size
c72af735
RP
1004text data bss dec hex filename
1005294880 81920 11592 388392 5ed28 ranlib
1006294880 81920 11888 388688 5ee50 size
1007@end smallexample
1008
1009@noindent
1010This is the same data, but displayed closer to System V conventions:
1011
1012@smallexample
4d9b5d5a 1013size --format SysV ranlib size
c72af735
RP
1014ranlib :
1015section size addr
1016.text 294880 8192
1017.data 81920 303104
1018.bss 11592 385024
1019Total 388392
1020
1021
1022size :
1023section size addr
1024.text 294880 8192
1025.data 81920 303104
1026.bss 11888 385024
1027Total 388688
1028@end smallexample
1029
918c2f61 1030@item --help
c72af735
RP
1031Show a summary of acceptable arguments and options.
1032
1033@item -d
1034@itemx -o
1035@itemx -x
ec40bbb8 1036@itemx --radix=@var{number}
68dd5295 1037@cindex @code{size} number format
c72af735
RP
1038@cindex radix for section sizes
1039Using one of these options, you can control whether the size of each
ec40bbb8
DM
1040section is given in decimal (@samp{-d}, or @samp{--radix=10}); octal
1041(@samp{-o}, or @samp{--radix=8}); or hexadecimal (@samp{-x}, or
1042@samp{--radix=16}). In @samp{--radix=@var{number}}, only the three
c72af735
RP
1043values (8, 10, 16) are supported. The total size is always given in two
1044radices; decimal and hexadecimal for @samp{-d} or @samp{-x} output, or
1045octal and hexadecimal if you're using @samp{-o}.
1046
ec40bbb8 1047@item --target=@var{bfdname}
c72af735 1048@cindex object code format
ec40bbb8
DM
1049Specify that the object-code format for @var{objfile} is
1050@var{bfdname}. This option may not be necessary; @code{size} can
c72af735
RP
1051automatically recognize many formats. @xref{objdump}, for information
1052on listing available formats.
1053
1054@item -V
918c2f61 1055@itemx --version
4d9b5d5a 1056Display the version number of @code{size}.
c72af735
RP
1057@end table
1058
ba7c8e29
DM
1059@node strings, strip, size, Top
1060@chapter strings
1061@kindex strings
1062@cindex listings strings
1063@cindex printing strings
1064@cindex strings, printing
1065
1066@smallexample
b26ac613 1067strings [-afov] [-@var{min-len}] [-n @var{min-len}] [-t @var{radix}] [-]
650a49f0
RP
1068 [--all] [--print-file-name] [--bytes=@var{min-len}]
1069 [--radix=@var{radix}] [--help] [--version] @var{file}@dots{}
ba7c8e29
DM
1070@end smallexample
1071
1072For each @var{file} given, GNU @code{strings} prints the printable
1073character sequences that are at least 4 characters long (or the number
1074given with the options below) and are followed by a NUL or newline
1075character. By default, it only prints the strings from the initialized
1076data sections of object files; for other types of files, it prints the
1077strings from the whole file.
1078
1079@code{strings} is mainly useful for determining the contents of non-text
1080files.
1081
1082@table @code
1083@item -a
1084@itemx --all
1085@itemx -
1086Do not scan only the initialized data section of object files; scan
1087the whole files.
1088
1089@item -f
1090@itemx --print-file-name
1091Print the name of the file before each string.
1092
b26ac613 1093@item --help
ba7c8e29
DM
1094Print a summary of the program usage on the standard output and exit.
1095
ba7c8e29 1096@itemx -@var{min-len}
b26ac613 1097@item -n @var{min-len}
ba7c8e29
DM
1098@itemx --bytes=@var{min-len}
1099Print sequences of characters that are at least @var{min-len} characters
1100long, instead of the default 4.
1101
1102@item -o
b26ac613
DM
1103Like @samp{-t o}. Some other versions of @code{strings} have @samp{-o}
1104act like @samp{-t d} instead. Since we can not be compatible with both
1105ways, we simply chose one.
ba7c8e29
DM
1106
1107@item -t @var{radix}
1108@itemx --radix=@var{radix}
1109Print the offset within the file before each string. The single
1110character argument specifies the radix of the offset---@samp{o} for
1111octal, @samp{x} for hexadecimal, or @samp{d} for decimal.
1112
1113@item -v
1114@itemx --version
1115Print the program version number on the standard output and exit.
1116@end table
1117
1118@node strip, c++filt, strings, Top
c72af735
RP
1119@chapter strip
1120
1121@kindex strip
1122@cindex removing symbols
1123@cindex discarding symbols
1815e42c 1124@cindex symbols, discarding
c72af735
RP
1125
1126@smallexample
b703c078
DM
1127strip [ -F @var{format} | --format=@var{format} | --target=@var{format} ]
1128 [ -I @var{format} | --input-format=@var{format} ]
1129 [ -O @var{format} | --output-format=@var{format} ]
1130 [ -s | --strip-all ] [ -S | -g | --strip-debug ]
1131 [ -x | --discard-all ] [ -X | --discard-locals ]
b26ac613 1132 [ -v | --verbose ] [ -V | --version ] [ --help ]
b703c078 1133 @var{objfile}@dots{}
c72af735
RP
1134@end smallexample
1135
e31e9a8d 1136GNU @code{strip} discards all symbols from object files
ec40bbb8 1137@var{objfile}. The list of object files may include archives.
b26ac613 1138At least one object file must be given.
c72af735 1139
ec40bbb8 1140@code{strip} modifies the files named in its argument,
c72af735 1141rather than writing modified copies under different names.
c72af735 1142
c72af735 1143@table @code
b26ac613
DM
1144@item -F @var{format}
1145@itemx --format=@var{format}
1146@itemx --target=@var{format}
1147Treat the original @var{objfile} as a file with the object
1148code format @var{format}, and rewrite it in the same format.
1149
1150@item --help
1151Show a summary of the options to @code{strip} and exit.
1152
918c2f61
PB
1153@item -I @var{format}
1154@itemx --input-format=@var{format}
ec40bbb8
DM
1155Treat the original @var{objfile} as a file with the object
1156code format @var{format}.
918c2f61
PB
1157
1158@item -O @var{format}
1159@itemx --output-format=@var{format}
ec40bbb8 1160Replace @var{objfile} with a file in the output format @var{format}.
918c2f61 1161
b703c078
DM
1162@item -s
1163@itemx --strip-all
1164Remove all symbols.
1165
918c2f61
PB
1166@item -g
1167@itemx -S
1168@itemx --strip-debug
1169Remove debugging symbols only.
1170
1171@item -x
1172@itemx --discard-all
1173Remove non-global symbols.
1174
1175@item -X
1176@itemx --discard-locals
1177Remove compiler-generated local symbols.
ec40bbb8 1178(These usually start with @samp{L} or @samp{.}.)
918c2f61
PB
1179
1180@item -V
1181@itemx --version
ec40bbb8 1182Show the version number for @code{strip}.
918c2f61 1183
1815e42c 1184@item -v
918c2f61
PB
1185@itemx --verbose
1186Verbose output: list all object files modified. In the case of
1269d441 1187archives, @samp{strip -v} lists all members of the archive.
c72af735
RP
1188@end table
1189
94e9ad77 1190@node c++filt, nlmconv, strip, Top
b6216af2
PB
1191@chapter c++filt
1192
1193@kindex c++filt
1194@cindex demangling C++ symbols
1195
b26ac613
DM
1196@smallexample
1197c++filt [ -_ | --strip-underscores ]
1198 [ -s @var{format} | --format=@var{format} ]
d6a4c375 1199 [ --help ] [ --version ] [ @var{symbol}@dots{} ]
b26ac613
DM
1200@end smallexample
1201
6c69b6bd
JO
1202The C++ language provides function overloading, which means that you can
1203write many functions with the same name (providing each takes parameters
1204of different types). All C++ function names are encoded into a
b26ac613 1205low-level assembly label (this process is known as
6c69b6bd
JO
1206@dfn{mangling}). The @code{c++filt} program does the inverse mapping: it
1207decodes (@dfn{demangles}) low-level names into user-level names so that
1208the linker can keep these overloaded functions from clashing.
1209
1210Every alphanumeric word (consisting of letters, digits, underscores,
1211dollars, or periods) seen in the input is a potential label. If the
1212label decodes into a C++ name, the C++ name replaces the low-level
1213name in the output.
b6216af2 1214
d6a4c375 1215You can use @code{c++filt} to decipher individual symbols:
6c69b6bd
JO
1216
1217@example
1218c++filt @var{symbol}
1219@end example
1220
d6a4c375
DM
1221If no @var{symbol} arguments are given, @code{c++filt} reads symbol
1222names from the standard input and writes the demangled names to the
1223standard output. All results are printed on the standard output.
b6216af2 1224
b26ac613
DM
1225@table @code
1226@item -_
94e9ad77 1227@itemx --strip-underscores
b26ac613
DM
1228On some systems, both the C and C++ compilers put an underscore in front
1229of every name. For example, the C name @code{foo} gets the low-level
1230name @code{_foo}. This option removes the initial underscore.
1231
1232@item -s @var{format}
1233@itemx --format=@var{format}
1234GNU @code{nm} can decode three different methods of mangling, used by
1235different C++ compilers. The argument to this option selects which
1236method it uses:
1237
1238@table @code
1239@item gnu
1240the one used by the GNU compiler (the default method)
1241@item lucid
1242the one used by the Lucid compiler
1243@item arm
1244the one specified by the C++ Annotated Reference Manual
1245@end table
1246
1247@item --help
1248Print a summary of the options to @code{c++filt} and exit.
1249
1250@item --version
1251Print the version number of @code{c++filt} and exit.
1252@end table
b6216af2 1253
5eac46ae
JO
1254@quotation
1255@emph{Warning:} @code{c++filt} is a new utility, and the details of its
1256user interface are subject to change in future releases. In particular,
1257a command-line option may be required in the the future to decode a name
1258passed as an argument on the command line; in other words,
1259
1260@example
b26ac613 1261c++filt @var{symbol}
5eac46ae
JO
1262@end example
1263
1264@noindent
1265may in a future release become
1266
1267@example
b26ac613 1268c++filt @var{option} @var{symbol}
5eac46ae
JO
1269@end example
1270@end quotation
1271
94e9ad77
JO
1272@node nlmconv, Index, c++filt, Top
1273@chapter nlmconv
1274
1275@code{nlmconv} converts a relocatable object file into a NetWare
1276Loadable Module. @code{nlmconv} currently only works with @samp{i386}
1277object files in @code{coff}, @sc{elf}, or @code{a.out} format.
1278
1279@smallexample
1280nlmconv [ -I @var{format} | --input-format=@var{format} ]
1281 [ -O @var{format} | --output-format=@var{format} ]
1282 [ -T @var{headerfile} | --header-file=@var{headerfile} ]
1283 [ -h | --help ] [ -V | --version ]
1284 @var{infile} @var{outfile}
1285@end smallexample
1286
1287@code{nlmconv} converts the relocatable @samp{i386} object file
1288@var{infile} into the NetWare Loadable Module @var{outfile}, optionally
1289reading @var{headerfile} for NLM header information. For instructions
1290on writing the NLM command file language used in header files, see
1291@cite{The NetWare Tool Maker Specification Manual}, available from
1292Novell, Inc. @code{nlmconv} uses the @sc{gnu} Binary File Descriptor
1293library to read @var{infile}; see @ref{BFD,,BFD,ld.info,Using LD, the
1294GNU linker}, for more information.
1295
1296@table @code
1297@item -I @var{format}
1298@itemx --input-format=@var{format}
1299Object format of the input file. @code{nlmconv} can usually determine
1300the format of a given file (so no default is necessary). @var{format}
1301arguments are normal BFD names; for a list of these, run
1302@w{@samp{objdump -i}}.
1303
1304@item -O @var{format}
1305@itemx --output-format=@var{format}
1306Object format of the output file. @code{nlmconv} infers the output
1307format based on the input format, e.g. for a @samp{i386} input file the
1308output format is @samp{nlm32-i386}. @var{format} arguments are normal
1309BFD names; for a list of these, run @w{@samp{objdump -i}}.
1310
1311@item -T @var{headerfile}
1312@itemx --header-file=@var{headerfile}
1313Reads @var{headerfile} for NLM header information. For instructions on
1314writing the NLM command file language used in header files, see
1315@cite{The NetWare Tool Maker Specification Manual}, available from
1316Novell, Inc.
1317
1318@item -h
1319@itemx --help
1320Prints a usage summary.
1321
1322@item -V
1323@itemx --version
1324Prints the version number for @code{nlmconv}.
1325@end table
1326
1327@node Index, , nlmconv, Top
c72af735
RP
1328@unnumbered Index
1329
1330@printindex cp
1331
1332@contents
1333@bye
This page took 0.134779 seconds and 4 git commands to generate.