@chapter Introduction
This brief manual contains preliminary documentation for the GNU binary
-utilities (collectively version 1.90): @samp{ar}, @samp{objdump},
-@samp{nm}, @samp{size}, @samp{strip}, and @samp{ranlib}. @refill
+utilities (collectively version 1.90):
+@table @code
+@item ar
+Create, modify, and extract from archives
+
+@item nm
+List symbols from object files
+
+@item objdump
+Display information from object files
+
+@item ranlib
+Generate index to archive contents
+
+@item size
+List section sizes and total size
+
+@item strip
+Discard symbols
+@end table
@ifinfo
Copyright @copyright{} 1991 Free Software Foundation, Inc.
ar [-]@var{p}@var{mod} [ @var{membername} ] @var{archive} @var{files}@dots{}
@end smallexample
-The GNU @code{ar} program creates, modifies, and extracts
+The GNU @code{ar} program creates, modifies, and extracts from
archives. An @dfn{archive} is a single file holding a collection of
other files in a structure that makes it possible to retrieve
the original individual files (called @dfn{members} of the archive).
allows routines in the library to call each other without regard to
their placement in the archive.
-
You may use @samp{nm -s} or @samp{nm +print-armap} to list this index
table. If an archive lacks the table, another form of @code{ar} called
@code{ranlib} can be used to add just the table.
GNU @code{ar} allows you to mix the operation code @var{p} and modifier
flags @var{mod} in any order, within the first command-line argument.
-If you wish, you may prefix the first command-line argument with a
+If you wish, you may begin the first command-line argument with a
dash.
The @var{p} keyletter specifies what operation to execute; it may be
@node ld, nm, ar, Top
@chapter ld
The GNU linker @code{ld} is now described in a separate manual.
-@xref{Top, , Overview, , GLD: the GNU linker}.
+@xref{Top,, Overview,, GLD: the GNU linker}.
@node nm, objdump, ld, Top
@chapter nm
Object files whose symbols are to be listed. If no object files are
listed as arguments, @code{nm} assumes @samp{a.out}.
-@item +debug-syms
-@itemx -a
+@item -a
+@itemx +debug-syms
Display debugger-only symbols; normally these are not listed.
-@item +extern-only
-@itemx -g
+@item -g
+@itemx +extern-only
Display only external symbols.
-@item +no-sort
-@itemx -p
+@item -p
+@itemx +no-sort
Don't bother to sort the symbols in any order; just print them in the
order encountered.
-@item +numeric-sort
-@itemx -n
+@item -n
+@itemx +numeric-sort
Sort symbols numerically by their addresses, not alphabetically by their
names.
-@item +print-armap
-@itemx -s
+@item -s
+@itemx +print-armap
When listing symbols from archives, list the index: a mapping (stored in
the archive by @code{ar} or @code{ranlib}) of what modules contain
definitions for what names.
-@item +print-file-name
-@itemx -o
+@item -o
+@itemx +print-file-name
Precede each symbol by the name of the input file where it was found,
rather than identifying the input file once only before all of its
symbols.
-@item +reverse-sort
-@itemx -r
+@item -r
+@itemx +reverse-sort
Reverse the sense of the sort (whether numeric or alphabetic); let the
last come first.
@xref{objdump}, for information on listing available formats.
@c FIXME what *does* +target/no arg do?
-
-@item +undefined-only
-@itemx -u
+@item -u
+@itemx +undefined-only
Display only undefined symbols (those external to each object file).
@end table
File header. Display summary information from the overall header of
each file in @var{objfiles}.
-@item +header
-@itemx -h
+@item -h
+@itemx +header
Header. Display summary information from the section headers of the
object file.
@var{machine}. You can list available architectures using the @samp{-i}
option.
-@item +reloc
-@itemx -r
+@item -r
+@itemx +reloc
Relocation. Print the relocation entries of the file.
@item -s
Display the full contents of any sections requested.
-@item +syms
-@itemx -t
+@item -t
+@itemx +syms
Symbol Table. Print the symbol table entries of the file.
This is similar to the information provided by the @samp{nm} program.
@code{ranlib} is completely equivalent to executing @samp{ar -s}.
@xref{ar}.
-
@ignore
@c FIXME vintage ranlib had options [ -t | +touch ] [ -v | +verbose ]
@c which are gone here. Good or evil?
@item @var{objfiles}@dots{}
The object files to be examined.
-@item +format @var{compatibility}
-@itemx -A
+@item -A
@itemx -B
+@itemx +format @var{compatibility}
Using one of these options, you can choose whether the output from GNU
@code{size} resembles output from System V @code{size} (using @samp{-A},
or @samp{+format sysv}, or Berkeley @code{size} (using @samp{-B}, or
@item +help
Show a summary of acceptable arguments and options.
-@item +radix @var{number}
-@itemx -d
+@item -d
@itemx -o
@itemx -x
+@itemx +radix @var{number}
Using one of these options, you can control whether the size of each
section is given in decimal (@samp{-d}, or @samp{+radix 10}); octal
(@samp{-o}, or @samp{+radix 8}); or hexadecimal (@samp{-x}, or
automatically recognize many formats. @xref{objdump}, for information
on listing available formats.
-@item +version
-@itemx -V
+@item -V
+@itemx +version
Display version number information on @code{size} itself.
@end table
-
@node strip, , size, Top
@chapter strip
equivalent.
@table @code
-@item +strip-all
-@itemx -s
+@item -s
+@itemx +strip-all
This is the default case: strip all symbol entries from @var{objfiles}.
-@item +strip-debug
-@itemx -g
+@item -g
@itemx -S
+@itemx +strip-debug
Discard only debugging symbol information from @var{objfiles}.
-@item +discard-all
-@itemx -x
+@item -x
+@itemx +discard-all
Discard all symbols local to each file in @var{objfiles}.
@emph{WARNING:} Note that @code{+discard-all} discards only @emph{local}
symbols, in spite of its name.
-@item +discard-locals
-@itemx -X
+@item -X
+@itemx +discard-locals
Discard local symbols starting with @samp{L} from each file in
@var{objfiles}. (Some compilers produce internally-used symbols that
begin with @samp{L}.)
@contents
@bye
-
-