1 changed files with 737 additions and 0 deletions
@ -0,0 +1,737 @@ |
|||
\input texinfo |
|||
@setfilename binutils.info |
|||
|
|||
@c start-menu |
|||
* Binutils: (binutils). |
|||
The GNU binary utilities "ar", "ld", "objdump", "nm", |
|||
"size", "strip", and "ranlib". |
|||
@c end-menu |
|||
|
|||
@synindex ky cp |
|||
@c |
|||
@c This file documents the GNU binary utilities "ar", "ld", "objdump", "nm", |
|||
@c "size", "strip", and "ranlib". |
|||
@c |
|||
@c Copyright (C) 1991 Free Software Foundation, Inc. |
|||
@c |
|||
@c This text may be freely distributed under the terms of the GNU |
|||
@c General Public License. |
|||
@c |
|||
@c $Id$ |
|||
@iftex |
|||
@finalout |
|||
@c @smallbook |
|||
@end iftex |
|||
@c @cropmarks |
|||
@setchapternewpage odd |
|||
@settitle GNU Binary Utilities |
|||
@titlepage |
|||
@title The GNU Binary Utilities |
|||
@subtitle Version 1.90 |
|||
@sp 1 |
|||
@subtitle October 1991 |
|||
@author Roland H. Pesch |
|||
@author Cygnus Support |
|||
@page |
|||
|
|||
@tex |
|||
\def\$#1${{#1}} % Kluge: collect RCS revision info without $...$ |
|||
\xdef\manvers{\$Revision$} % For use in headers, footers too |
|||
{\parskip=0pt \hfill Cygnus Support\par \hfill \manvers\par \hfill |
|||
\TeX{}info \texinfoversion\par } |
|||
@end tex |
|||
|
|||
@vskip 0pt plus 1filll |
|||
Copyright @copyright{} 1991 Free Software Foundation, Inc. |
|||
|
|||
Permission is granted to make and distribute verbatim copies of |
|||
this manual provided the copyright notice and this permission notice |
|||
are preserved on all copies. |
|||
|
|||
Permission is granted to copy and distribute modified versions of this |
|||
manual under the conditions for verbatim copying, provided also that |
|||
the entire resulting derived work is distributed under the terms of a |
|||
permission notice identical to this one. |
|||
|
|||
Permission is granted to copy and distribute translations of this manual |
|||
into another language, under the above conditions for modified versions. |
|||
@end titlepage |
|||
|
|||
@node Top, ar, (dir), (dir) |
|||
@chapter Introduction |
|||
|
|||
@cindex version |
|||
This brief manual contains preliminary documentation for the GNU binary |
|||
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. |
|||
|
|||
Permission is granted to make and distribute verbatim copies of |
|||
this manual provided the copyright notice and this permission notice |
|||
are preserved on all copies. |
|||
|
|||
@ignore |
|||
Permission is granted to process this file through TeX and print the |
|||
results, provided the printed document carries a copying permission |
|||
notice identical to this one except for the removal of this paragraph |
|||
(this paragraph not being relevant to the printed manual). |
|||
|
|||
@end ignore |
|||
|
|||
Permission is granted to copy and distribute modified versions of this |
|||
manual under the conditions for verbatim copying, provided also that |
|||
the entire resulting derived work is distributed under the terms of a |
|||
permission notice identical to this one. |
|||
|
|||
Permission is granted to copy and distribute translations of this manual |
|||
into another language, under the above conditions for modified versions. |
|||
@end ifinfo |
|||
|
|||
@menu |
|||
* ar:: Create, modify, and extract from archives |
|||
* ld:: See ld.info |
|||
* nm:: List symbols from object files |
|||
* objdump:: Display information from object files |
|||
* ranlib:: Generate index to archive contents |
|||
* size:: List section sizes and total size |
|||
* strip:: Discard symbols |
|||
* Index:: |
|||
@end menu |
|||
|
|||
@node ar, ld, Top, Top |
|||
@chapter ar |
|||
|
|||
@kindex ar |
|||
@cindex archives |
|||
@cindex collections of files |
|||
@smallexample |
|||
ar [-]@var{p}@var{mod} [ @var{membername} ] @var{archive} @var{files}@dots{} |
|||
@end smallexample |
|||
|
|||
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). |
|||
|
|||
The original files' contents, mode (permissions), timestamp, owner, and |
|||
group are preserved in the archive, and may be reconstituted on |
|||
extraction. |
|||
|
|||
@cindex name length |
|||
GNU @code{ar} can maintain archives whose members have names of any |
|||
length; however, depending on how @code{ar} is configured on your |
|||
system, a limit on member-name length may be imposed (for compatibility |
|||
with archive formats maintained with other tools). If it exists, the |
|||
limit is often 15 characters (typical of formats related to a.out) or 16 |
|||
characters (typical of formats related to coff). |
|||
|
|||
@cindex libraries |
|||
@code{ar} is considered a binary utility because archives of this sort |
|||
are most often used as @dfn{libraries} holding commonly needed |
|||
subroutines. |
|||
|
|||
@cindex symbol index |
|||
@code{ar} will create an index to the symbols defined in relocatable |
|||
object modules in the archive when you specify the modifier @samp{s}. |
|||
Once created, this index is updated in the archive whenever @code{ar} |
|||
makes a change to its contents (save for the @samp{q} update operation). |
|||
An archive with such an index speeds up linking to the library, and |
|||
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. |
|||
|
|||
@code{ar} insists on at least two arguments to execute: one |
|||
keyletter specifying the @emph{operation} (optionally accompanied by other |
|||
keyletters specifying @emph{modifiers}), and the archive name to act on. |
|||
|
|||
Most operations can also accept further @var{files} arguments, |
|||
specifying particular files to operate on. |
|||
|
|||
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 begin the first command-line argument with a |
|||
dash. |
|||
|
|||
@cindex operations on archive |
|||
The @var{p} keyletter specifies what operation to execute; it may be |
|||
any of the following, but you must specify only one of them: |
|||
|
|||
@table @code |
|||
@item d |
|||
@cindex deleting from archive |
|||
@emph{Delete} modules from the archive. Specify the names of modules to |
|||
be deleted as @var{files}; the archive is untouched if you |
|||
specify no files to delete. |
|||
|
|||
If you specify the @samp{v} modifier, @code{ar} will list each module |
|||
as it is deleted. |
|||
|
|||
@item m |
|||
@cindex moving in archive |
|||
Use this operation to @emph{move} members in an archive. |
|||
|
|||
The ordering of members in an archive can make a difference in how |
|||
programs are linked using the library, if a symbol is defined in more |
|||
than one member. |
|||
|
|||
If no modifiers are used with @code{m}, any members you name in the |
|||
@var{files} arguments are moved to the @emph{end} of the archive; |
|||
you can use the @samp{a}, @samp{b}, or @samp{i} modifiers to move them to a |
|||
specified place instead. |
|||
|
|||
@item p |
|||
@cindex printing from archive |
|||
@emph{Print} the specified members of the archive, to the standard |
|||
output file. If the @samp{v} modifier is specified, show the member |
|||
name before copying its contents to standard output. |
|||
|
|||
If you specify no @var{files}, all the files in the archive are printed. |
|||
|
|||
@item q |
|||
@cindex quick append to archive |
|||
@emph{Quick append}; add @var{files} to the end of @var{archive}, |
|||
without checking for replacement. |
|||
|
|||
The modifiers @samp{a}, @samp{b}, and @samp{i} do @emph{not} affect this |
|||
operation; new members are always placed at the end of the archive. |
|||
|
|||
The modifier @samp{v} makes @code{ar} list each file as it is appended. |
|||
|
|||
Since the point of this operation is speed, the archive's symbol table |
|||
index is not updated, even if it already existed; you can use @samp{ar s} or |
|||
@code{ranlib} explicitly to update the symbol table index. |
|||
|
|||
@item r |
|||
@cindex replacement in archive |
|||
Insert @var{files} into @var{archive} (with @emph{replacement}). This |
|||
operation differs from @samp{q} in that any previously existing members |
|||
are deleted if their names match those being added. |
|||
|
|||
If one of the files named in @var{files} doesn't exist, @code{ar} |
|||
displays an error message, and leaves undisturbed any existing members |
|||
of the archive matching that name. |
|||
|
|||
By default, new members are added at the end of the file; but you may |
|||
use one of the modifiers @samp{a}, @samp{b}, or @samp{i} to request |
|||
placement relative to some existing member. |
|||
|
|||
The modifier @samp{v} used with this operation elicits a line of |
|||
output for each file inserted, along with one of the letters @samp{a} or |
|||
@samp{r} to indicate whether the file was appended (no old member |
|||
deleted) or replaced. |
|||
|
|||
@item t |
|||
@cindex contents of archive |
|||
Display a @emph{table} listing the contents of @var{archive}, or those |
|||
of the files listed in @var{files} that are present in the |
|||
archive. Normally only the member name is shown; if you also want to |
|||
see the modes (permissions), timestamp, owner, group, and size, you can |
|||
request that by also specifying the @samp{v} modifier. |
|||
|
|||
If you do not specify any @var{files}, all files in the archive |
|||
are listed. |
|||
|
|||
@cindex repeated names in archive |
|||
@cindex name duplication in archive |
|||
If there is more than one file with the same name (say, @samp{fie}) in |
|||
an archive (say @samp{b.a}), @samp{ar t b.a fie} will list only the |
|||
first instance; to see them all, you must ask for a complete |
|||
listing---in our example, @samp{ar t b.a}. |
|||
@c WRS only; per Gumby, this is implementation-dependent, and in a more |
|||
@c recent case in fact works the other way. |
|||
|
|||
@item x |
|||
@cindex extract from archive |
|||
@emph{Extract} members (named @var{files}) from the archive. You can |
|||
use the @samp{v} modifier with this operation, to request that |
|||
@code{ar} list each name as it extracts it. |
|||
|
|||
If you do not specify any @var{files}, all files in the archive |
|||
are extracted. |
|||
|
|||
@end table |
|||
|
|||
A number of modifiers (@var{mod}) may immediately follow the @var{p} |
|||
keyletter, to specify variations on an operation's behavior: |
|||
|
|||
@table @code |
|||
@item a |
|||
@cindex relative placement in archive |
|||
Add new files @emph{after} an existing member of the |
|||
archive. If you use the modifier @code{a}, the name of an existing archive |
|||
member must be present as the @var{membername} argument, before the |
|||
@var{archive} specification. |
|||
|
|||
@item b |
|||
Add new files @emph{before} an existing member of the |
|||
archive. If you use the modifier @code{b}, the name of an existing archive |
|||
member must be present as the @var{membername} argument, before the |
|||
@var{archive} specification. (same as @samp{i}). |
|||
|
|||
@item c |
|||
@cindex creating archives |
|||
@emph{Create} the archive. The specified @var{archive} is always |
|||
created if it didn't exist, when you request an update. But a warning is |
|||
issued unless you specify in advance that you expect to create it, by |
|||
using this modifier. |
|||
|
|||
@item i |
|||
Insert new files @emph{before} an existing member of the |
|||
archive. If you use the modifier @code{i}, the name of an existing archive |
|||
member must be present as the @var{membername} argument, before the |
|||
@var{archive} specification. (same as @samp{b}). |
|||
|
|||
@item l |
|||
This modifier is accepted but not used. |
|||
@c whaffor ar l modifier??? presumably compat; with |
|||
@c what???---pesch@@cygnus.com, 25jan91 |
|||
|
|||
@item o |
|||
@cindex dates in archive |
|||
Preserve the @emph{original} dates of members when extracting them. If |
|||
you do not specify this modifier, files extracted from the archive |
|||
will be stamped with the time of extraction. |
|||
|
|||
@item s |
|||
@cindex writing archive index |
|||
Write an object-file index into the archive, or update an existing one, |
|||
even if no other change is made to the archive. You may use this modifier |
|||
flag either with any operation, or alone. Running @samp{ar s} on an |
|||
archive is equivalent to running @samp{ranlib} on it. |
|||
|
|||
@item u |
|||
@cindex updating an archive |
|||
Normally, @code{ar r}@dots{} inserts all files |
|||
listed into the archive. If you would like to insert @emph{only} those |
|||
of the files you list that are newer than existing members of the same |
|||
names, use this modifier. The @samp{u} modifier is allowed only for the |
|||
operation @samp{r} (replace). In particular, the combination @samp{qu} is |
|||
not allowed, since checking the timestamps would lose any speed |
|||
advantage from the operation @samp{q}. |
|||
|
|||
@item v |
|||
This modifier requests the @emph{verbose} version of an operation. Many |
|||
operations display additional information, such as filenames processed, |
|||
when the modifier @samp{v} is appended. |
|||
|
|||
@end table |
|||
|
|||
@node ld, nm, ar, Top |
|||
@chapter ld |
|||
@cindex linker |
|||
@kindex ld |
|||
The GNU linker @code{ld} is now described in a separate manual. |
|||
@xref{Top,, Overview,, GLD: the GNU linker}. |
|||
|
|||
@node nm, objdump, ld, Top |
|||
@chapter nm |
|||
@cindex symbols |
|||
@kindex nm |
|||
|
|||
@smallexample |
|||
nm [ -a | +debug-syms ] [ -g | +extern-only ] |
|||
[ -s | +print-armap ] [ -o | +print-file-name ] |
|||
[ -n | +numeric-sort ] [ -p | +no-sort ] |
|||
[ -r | +reverse-sort ] [ -u | +undefined-only ] |
|||
[ +target @var{bfdname} ] |
|||
[ @var{objfiles}@dots{} ] |
|||
@end smallexample |
|||
|
|||
GNU @code{nm} will list the symbols from object files @var{objfiles}. |
|||
|
|||
The long and short forms of options, shown here as alternatives, are |
|||
equivalent. |
|||
|
|||
@table @code |
|||
@item @var{objfiles}@dots{} |
|||
@kindex a.out |
|||
Object files whose symbols are to be listed. If no object files are |
|||
listed as arguments, @code{nm} assumes @samp{a.out}. |
|||
|
|||
@item -a |
|||
@itemx +debug-syms |
|||
@cindex debugging symbols |
|||
Display debugger-only symbols; normally these are not listed. |
|||
|
|||
@item -g |
|||
@itemx +extern-only |
|||
@cindex external symbols |
|||
Display only external symbols. |
|||
|
|||
@item -p |
|||
@itemx +no-sort |
|||
@cindex sorting symbols |
|||
Don't bother to sort the symbols in any order; just print them in the |
|||
order encountered. |
|||
|
|||
@item -n |
|||
@itemx +numeric-sort |
|||
Sort symbols numerically by their addresses, not alphabetically by their |
|||
names. |
|||
|
|||
@item -s |
|||
@itemx +print-armap |
|||
@cindex symbol index, listing |
|||
When listing symbols from archive members, include the index: a mapping |
|||
(stored in the archive by @code{ar} or @code{ranlib}) of what modules |
|||
contain definitions for what names. |
|||
|
|||
@item -o |
|||
@itemx +print-file-name |
|||
@cindex input file name |
|||
@cindex file name |
|||
@cindex source 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 -r |
|||
@itemx +reverse-sort |
|||
Reverse the sense of the sort (whether numeric or alphabetic); let the |
|||
last come first. |
|||
|
|||
@item +target @var{bfdname} |
|||
@c @item +target |
|||
@cindex object code format |
|||
Specify an object code format other than your system's default format. |
|||
@xref{objdump}, for information on listing available formats. |
|||
@c FIXME what *does* +target/no arg do? |
|||
|
|||
@item -u |
|||
@itemx +undefined-only |
|||
@cindex external symbols |
|||
@cindex undefined symbols |
|||
Display only undefined symbols (those external to each object file). |
|||
|
|||
@end table |
|||
|
|||
@node objdump, ranlib, nm, Top |
|||
@chapter objdump |
|||
|
|||
@cindex object file information |
|||
@kindex objdump |
|||
|
|||
@smallexample |
|||
objdump [ -a ] [ -b @var{bfdname} ] [ -d ] [ -f ] |
|||
[ -h | +header ] [ -i ] [ -j @var{section} ] [ -l ] |
|||
[ -m @var{machine} ] [ -r | +reloc ] [ -s ] |
|||
[ -t | +syms ] [ -x ] |
|||
@var{objfiles}@dots{} |
|||
@end smallexample |
|||
|
|||
@code{objdump} displays information about one or more object files. |
|||
The options control what particular information to display. This |
|||
information is mostly useful to programmers who are working on the |
|||
compilation tools, as opposed to programmers who just want their |
|||
program to compile and work. |
|||
|
|||
The long and short forms of options, shown here as alternatives, are |
|||
equivalent. |
|||
|
|||
@table @code |
|||
@item @var{objfiles}@dots{} |
|||
The object files to be examined. When you specify archives, |
|||
@code{objdump} shows information on each of the member object files. |
|||
|
|||
@item -a |
|||
@c print_arelt_descr |
|||
@cindex archive headers |
|||
If any files from @var{objfiles} are archives, display the archive |
|||
header information (in a format similar to @samp{ls -l}). Besides the |
|||
information you could list with @samp{ar tv}, @samp{objdump -a} shows |
|||
the object file format of each archive member. |
|||
|
|||
@c suggest longname +target or +format or +bfd |
|||
@item -b @var{bfdname} |
|||
@cindex object code format |
|||
You can specify a particular object-code format for your object files as |
|||
@var{bfdname}. This may not be necessary; @var{objdump} can |
|||
automatically recognize many formats. For example, |
|||
@example |
|||
objdump -b oasys -m vax -h fu.o |
|||
@end example |
|||
@noindent |
|||
Displays summary information from the section headers (@samp{-h}) of |
|||
@file{fu.o}, which is explicitly identified (@samp{-m}) as a Vax object |
|||
file in the format produced by Oasys compilers. You can list the |
|||
formats available with the @samp{-i} option. |
|||
|
|||
@item -d |
|||
@cindex disassembling object code |
|||
@cindex machine instructions |
|||
Disassemble. Display the assembler mnemonics for the machine |
|||
instructions from @var{objfiles}. |
|||
|
|||
@item -f |
|||
@cindex object file header |
|||
File header. Display summary information from the overall header of |
|||
each file in @var{objfiles}. |
|||
|
|||
@item -h |
|||
@itemx +header |
|||
@cindex section headers |
|||
Header. Display summary information from the section headers of the |
|||
object file. |
|||
|
|||
@item -i |
|||
@cindex architectures available |
|||
@cindex object formats available |
|||
Display a list showing all architectures and object formats available |
|||
for specification with @code{-b} or @code{-m}. |
|||
|
|||
@c suggest longname +section |
|||
@item -j @var{name} |
|||
@cindex section information |
|||
Display information only for section @var{name} |
|||
|
|||
@c suggest longname +label or +linespec |
|||
@item -l |
|||
@cindex source filenames for object files |
|||
Label the display (using debugging information) with the source filename |
|||
and line numbers corresponding to the object code shown. |
|||
|
|||
@c suggest longname +architecture |
|||
@item -m @var{machine} |
|||
@cindex architecture |
|||
Specify the object files @var{objfiles} are for architecture |
|||
@var{machine}. You can list available architectures using the @samp{-i} |
|||
option. |
|||
|
|||
@item -r |
|||
@itemx +reloc |
|||
@cindex relocation entries, in object file |
|||
Relocation. Print the relocation entries of the file. |
|||
|
|||
@item -s |
|||
@cindex sections, full contents |
|||
@cindex object file sections |
|||
Display the full contents of any sections requested. |
|||
|
|||
@item -t |
|||
@itemx +syms |
|||
@cindex symbol table entries, printing |
|||
Symbol Table. Print the symbol table entries of the file. |
|||
This is similar to the information provided by the @samp{nm} program. |
|||
|
|||
@item -x |
|||
@cindex all header information, object file |
|||
@cindex header information, all |
|||
Display all available header information, including the symbol table and |
|||
relocation entries. Using @samp{-x} is equivalent to specifying all of |
|||
@samp{-a -f -h -r -t}. |
|||
|
|||
@end table |
|||
|
|||
@node ranlib, size, objdump, Top |
|||
@chapter ranlib |
|||
|
|||
@kindex ranlib |
|||
@cindex archive contents |
|||
@cindex symbol index |
|||
|
|||
@smallexample |
|||
ranlib @var{archive} |
|||
@end smallexample |
|||
|
|||
@code{ranlib} generates an index to the contents of an archive, and |
|||
stores it in the archive. The index lists each symbol defined by a |
|||
member of an archive that is a relocatable object file. |
|||
|
|||
You may use @samp{nm -s} or @samp{nm +print-armap} to list this index. |
|||
|
|||
An archive with such an index speeds up linking to the library, and |
|||
allows routines in the library to call each other without regard to |
|||
their placement in the archive. |
|||
|
|||
The GNU @code{ranlib} program is another form of GNU @code{ar}; running |
|||
@code{ranlib} is completely equivalent to executing @samp{ar -s}. |
|||
@xref{ar}. |
|||
|
|||
@node size, strip, ranlib, Top |
|||
@chapter size |
|||
|
|||
@kindex size |
|||
@cindex section sizes |
|||
|
|||
@smallexample |
|||
size [ -A | -B | +format @var{compatibility} ] |
|||
[ +help ] [ -d | -o | -x | +radix @var{number} ] |
|||
[ +target @var{bfdname} ] [ -V | +version ] |
|||
@var{objfiles}@dots{} |
|||
@end smallexample |
|||
|
|||
The GNU @code{size} utility lists the section sizes---and the total |
|||
size---for each of the object files @var{objfiles} in its argument list. |
|||
By default, one line of output is generated for each object file or each |
|||
module in an archive. |
|||
|
|||
The command line options have the following meanings: |
|||
@table @code |
|||
@item @var{objfiles}@dots{} |
|||
The object files to be examined. |
|||
|
|||
@item -A |
|||
@itemx -B |
|||
@itemx +format @var{compatibility} |
|||
@cindex size display format |
|||
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 |
|||
@samp{+format berkeley}). The default is the one-line format similar to |
|||
Berkeley's. |
|||
@c Bonus for doc-source readers: you can also say +format=strange (or |
|||
@c anything else that starts with 's') for sysv, and +format=boring (or |
|||
@c anything else that starts with 'b') for Berkeley. |
|||
|
|||
Here is an example of the Berkeley (default) format of output from |
|||
@code{size}: |
|||
@smallexample |
|||
eg$ size +format Berkeley ranlib size |
|||
text data bss dec hex filename |
|||
294880 81920 11592 388392 5ed28 ranlib |
|||
294880 81920 11888 388688 5ee50 size |
|||
@end smallexample |
|||
|
|||
@noindent |
|||
This is the same data, but displayed closer to System V conventions: |
|||
|
|||
@smallexample |
|||
eg$ size +format SysV ranlib size |
|||
ranlib : |
|||
section size addr |
|||
.text 294880 8192 |
|||
.data 81920 303104 |
|||
.bss 11592 385024 |
|||
Total 388392 |
|||
|
|||
|
|||
size : |
|||
section size addr |
|||
.text 294880 8192 |
|||
.data 81920 303104 |
|||
.bss 11888 385024 |
|||
Total 388688 |
|||
@end smallexample |
|||
|
|||
@item +help |
|||
Show a summary of acceptable arguments and options. |
|||
|
|||
@item -d |
|||
@itemx -o |
|||
@itemx -x |
|||
@itemx +radix @var{number} |
|||
@cindex size number format |
|||
@cindex radix for section sizes |
|||
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 |
|||
@samp{+radix 16}). In @samp{+radix @var{number}}, only the three |
|||
values (8, 10, 16) are supported. The total size is always given in two |
|||
radices; decimal and hexadecimal for @samp{-d} or @samp{-x} output, or |
|||
octal and hexadecimal if you're using @samp{-o}. |
|||
|
|||
@item +target @var{bfdname} |
|||
@cindex object code format |
|||
You can specify a particular object-code format for @var{objfiles} as |
|||
@var{bfdname}. This may not be necessary; @var{size} can |
|||
automatically recognize many formats. @xref{objdump}, for information |
|||
on listing available formats. |
|||
|
|||
@item -V |
|||
@itemx +version |
|||
Display version number information on @code{size} itself. |
|||
|
|||
@end table |
|||
|
|||
@node strip, Index, size, Top |
|||
@chapter strip |
|||
|
|||
@kindex strip |
|||
@cindex removing symbols |
|||
@cindex discarding symbols |
|||
|
|||
@smallexample |
|||
strip [ -s | +strip-all ] [ -g | -S | +strip-debug ] |
|||
[ -x | +discard-all ] [ -X | +discard-locals ] |
|||
[ -T @var{bfdname} ] |
|||
@var{objfiles}@dots{} |
|||
@end smallexample |
|||
|
|||
GNU @code{strip} will discard all symbols from object files |
|||
@var{objfiles}, if no options are specified; or only certain symbols, |
|||
depending on its command-line options. |
|||
|
|||
@code{strip} will not execute unless at least one object file is listed. |
|||
|
|||
@quotation |
|||
@emph{WARNING:} @code{strip} modifies the files named in its argument, |
|||
rather than writing modified copies under different names. |
|||
@end quotation |
|||
|
|||
The long and short forms of options, shown here as alternatives, are |
|||
equivalent. |
|||
|
|||
@table @code |
|||
@item -s |
|||
@itemx +strip-all |
|||
@cindex all symbols, discarding |
|||
This is the default case: strip all symbol entries from @var{objfiles}. |
|||
|
|||
@item -g |
|||
@itemx -S |
|||
@itemx +strip-debug |
|||
@cindex debugging symbols, discarding |
|||
Discard only debugging symbol information from @var{objfiles}. |
|||
|
|||
@item -x |
|||
@itemx +discard-all |
|||
@cindex local symbols, discarding |
|||
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 -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}.) |
|||
|
|||
@item -T @var{bfdname} |
|||
@cindex object code format |
|||
You can specify a particular object-code format @var{bfdname} for |
|||
@var{objfiles}. This may not be necessary; @var{strip} can automatically |
|||
recognize many formats. @xref{objdump}, for information on listing |
|||
available formats. |
|||
@end table |
|||
|
|||
@node Index, , strip, Top |
|||
@unnumbered Index |
|||
|
|||
@printindex cp |
|||
|
|||
@contents |
|||
@bye |
|||
Loading…
Reference in new issue