home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1993-08-29 | 32.9 KB | 942 lines |
- This is Info file binutils.info, produced by Makeinfo-1.52 from the
- input file ./binutils.texi.
-
- START-INFO-DIR-ENTRY
- * Binutils: (binutils). The GNU binary utilities "ar", "ld", "objcopy",
- "objdump", "nm", "size", "strip", and "ranlib".
- END-INFO-DIR-ENTRY
-
- Copyright (C) 1991, 1992, 1993 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.
-
- File: binutils.info, Node: Top, Next: ar, Prev: (dir), Up: (dir)
-
- Introduction
- ************
-
- This brief manual contains preliminary documentation for the GNU
- binary utilities (collectively version 2.2):
-
- * Menu:
-
- * ar:: Create, modify, and extract from archives
- * objcopy:: Copy and translate object files
- * ld:(ld)Overview. Combine object and archive files
- * 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
- * cppfilt:: Filter to demangle encoded C++ symbols
- * Index::
-
- File: binutils.info, Node: ar, Next: objcopy, Prev: Top, Up: Top
-
- ar
- **
-
- ar [-]PMOD [ MEMBERNAME ] ARCHIVE FILE...
- ar -M [ <mri-script ]
-
- The GNU `ar' program creates, modifies, and extracts from archives.
- An "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 "members" of the archive).
-
- The original files' contents, mode (permissions), timestamp, owner,
- and group are preserved in the archive, and can be restored on
- extraction.
-
- GNU `ar' can maintain archives whose members have names of any
- length; however, depending on how `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).
-
- `ar' is considered a binary utility because archives of this sort
- are most often used as "libraries" holding commonly needed subroutines.
-
- `ar' creates an index to the symbols defined in relocatable object
- modules in the archive when you specify the modifier `s'. Once
- created, this index is updated in the archive whenever `ar' makes a
- change to its contents (save for the `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 `nm -s' or `nm --print-armap' to list this index table.
- If an archive lacks the table, another form of `ar' called `ranlib' can
- be used to add just the table.
-
- GNU `ar' is designed to be compatible with two different facilities.
- You can control its activity using command-line options, like the
- different varieties of `ar' on Unix systems; or, if you specify the
- single command-line option `-M', you can control it with a script
- supplied via standard input, like the MRI "librarian" program.
-
- * Menu:
-
- * ar-cmdline:: Controlling `ar' on the command line
- * ar-scripts:: Controlling `ar' with a script
-
- File: binutils.info, Node: ar-cmdline, Next: ar-scripts, Prev: ar, Up: ar
-
- Controlling `ar' on the command line
- ====================================
-
- ar [-]PMOD [ MEMBERNAME ] ARCHIVE FILE...
-
- When you use `ar' in the Unix style, `ar' insists on at least two
- arguments to execute: one keyletter specifying the *operation*
- (optionally accompanied by other keyletters specifying *modifiers*),
- and the archive name to act on.
-
- Most operations can also accept further FILE arguments, specifying
- particular files to operate on.
-
- GNU `ar' allows you to mix the operation code P and modifier flags
- MOD in any order, within the first command-line argument.
-
- If you wish, you may begin the first command-line argument with a
- dash.
-
- The P keyletter specifies what operation to execute; it may be any
- of the following, but you must specify only one of them:
-
- `d'
- *Delete* modules from the archive. Specify the names of modules to
- be deleted as FILE...; the archive is untouched if you specify no
- files to delete.
-
- If you specify the `v' modifier, `ar' lists each module as it is
- deleted.
-
- `m'
- Use this operation to *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 `m', any members you name in the
- FILE arguments are moved to the *end* of the archive; you can use
- the `a', `b', or `i' modifiers to move them to a specified place
- instead.
-
- `p'
- *Print* the specified members of the archive, to the standard
- output file. If the `v' modifier is specified, show the member
- name before copying its contents to standard output.
-
- If you specify no FILE arguments, all the files in the archive are
- printed.
-
- `q'
- *Quick append*; add the files FILE... to the end of ARCHIVE,
- without checking for replacement.
-
- The modifiers `a', `b', and `i' do *not* affect this operation;
- new members are always placed at the end of the archive.
-
- The modifier `v' makes `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 `ar s' or `ranlib' explicitly to update the symbol table index.
-
- `r'
- Insert the files FILE... into ARCHIVE (with *replacement*). This
- operation differs from `q' in that any previously existing members
- are deleted if their names match those being added.
-
- If one of the files named in FILE... doesn't exist, `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 `a', `b', or `i' to request placement
- relative to some existing member.
-
- The modifier `v' used with this operation elicits a line of output
- for each file inserted, along with one of the letters `a' or `r'
- to indicate whether the file was appended (no old member deleted)
- or replaced.
-
- `t'
- Display a *table* listing the contents of ARCHIVE, or those of the
- files listed in FILE... 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 `v' modifier.
-
- If you do not specify a FILE, all files in the archive are listed.
-
- If there is more than one file with the same name (say, `fie') in
- an archive (say `b.a'), `ar t b.a fie' lists only the first
- instance; to see them all, you must ask for a complete listing--in
- our example, `ar t b.a'.
-
- `x'
- *Extract* members (named FILE) from the archive. You can use the
- `v' modifier with this operation, to request that `ar' list each
- name as it extracts it.
-
- If you do not specify a FILE, all files in the archive are
- extracted.
-
- A number of modifiers (MOD) may immediately follow the P keyletter,
- to specify variations on an operation's behavior:
-
- `a'
- Add new files *after* an existing member of the archive. If you
- use the modifier `a', the name of an existing archive member must
- be present as the MEMBERNAME argument, before the ARCHIVE
- specification.
-
- `b'
- Add new files *before* an existing member of the archive. If you
- use the modifier `b', the name of an existing archive member must
- be present as the MEMBERNAME argument, before the ARCHIVE
- specification. (same as `i').
-
- `c'
- *Create* the archive. The specified 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.
-
- `i'
- Insert new files *before* an existing member of the archive. If
- you use the modifier `i', the name of an existing archive member
- must be present as the MEMBERNAME argument, before the ARCHIVE
- specification. (same as `b').
-
- `l'
- This modifier is accepted but not used.
-
- `o'
- Preserve the *original* dates of members when extracting them. If
- you do not specify this modifier, files extracted from the archive
- are stamped with the time of extraction.
-
- `s'
- 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
- `ar s' on an archive is equivalent to running `ranlib' on it.
-
- `u'
- Normally, `ar r'... inserts all files listed into the archive. If
- you would like to insert *only* those of the files you list that
- are newer than existing members of the same names, use this
- modifier. The `u' modifier is allowed only for the operation `r'
- (replace). In particular, the combination `qu' is not allowed,
- since checking the timestamps would lose any speed advantage from
- the operation `q'.
-
- `v'
- This modifier requests the *verbose* version of an operation. Many
- operations display additional information, such as filenames
- processed, when the modifier `v' is appended.
-
- `V'
- This modifier shows the version number of `ar'.
-
- File: binutils.info, Node: ar-scripts, Prev: ar-cmdline, Up: ar
-
- Controlling `ar' with a script
- ==============================
-
- ar -M [ <SCRIPT ]
-
- If you use the single command-line option `-M' with `ar', you can
- control its operation with a rudimentary command language. This form
- of `ar' operates interactively if standard input is coming directly
- from a terminal. During interactive use, `ar' prompts for input (the
- prompt is `AR >'), and continues executing even after errors. If you
- redirect standard input to a script file, no prompts are issued, and
- `ar' abandons execution (with a nonzero exit code) on any error.
-
- The `ar' command language is *not* designed to be equivalent to the
- command-line options; in fact, it provides somewhat less control over
- archives. The only purpose of the command language is to ease the
- transition to GNU `ar' for developers who already have scripts written
- for the MRI "librarian" program.
-
- The syntax for the `ar' command language is straightforward:
- * commands are recognized in upper or lower case; for example, `LIST'
- is the same as `list'. In the following descriptions, commands are
- shown in upper case for clarity.
-
- * a single command may appear on each line; it is the first word on
- the line.
-
- * empty lines are allowed, and have no effect.
-
- * comments are allowed; text after either of the characters `*' or
- `;' is ignored.
-
- * Whenever you use a list of names as part of the argument to an `ar'
- command, you can separate the individual names with either commas
- or blanks. Commas are shown in the explanations below, for
- clarity.
-
- * `+' is used as a line continuation character; if `+' appears at
- the end of a line, the text on the following line is considered
- part of the current command.
-
- Here are the commands you can use in `ar' scripts, or when using
- `ar' interactively. Three of them have special significance:
-
- `OPEN' or `CREATE' specify a "current archive", which is a temporary
- file required for most of the other commands.
-
- `SAVE' commits the changes so far specified by the script. Prior to
- `SAVE', commands affect only the temporary copy of the current archive.
-
- `ADDLIB ARCHIVE'
- `ADDLIB ARCHIVE (MODULE, MODULE, ... MODULE)'
- Add all the contents of ARCHIVE (or, if specified, each named
- MODULE from ARCHIVE) to the current archive.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `ADDMOD FILE, FILE, ... FILE'
- Add each named FILE as a module in the current archive.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `CLEAR'
- Discard the contents of the current archive, cancelling the effect
- of any operations since the last `SAVE'. May be executed (with no
- effect) even if no current archive is specified.
-
- `CREATE ARCHIVE'
- Creates an archive, and makes it the current archive (required for
- many other commands). The new archive is created with a temporary
- name; it is not actually saved as ARCHIVE until you use `SAVE'.
- You can overwrite existing archives; similarly, the contents of any
- existing file named ARCHIVE will not be destroyed until `SAVE'.
-
- `DELETE MODULE, MODULE, ... MODULE'
- Delete each listed MODULE from the current archive; equivalent to
- `ar -d ARCHIVE MODULE ... MODULE'.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `DIRECTORY ARCHIVE (MODULE, ... MODULE)'
- `DIRECTORY ARCHIVE (MODULE, ... MODULE) OUTPUTFILE'
- List each named MODULE present in ARCHIVE. The separate command
- `VERBOSE' specifies the form of the output: when verbose output is
- off, output is like that of `ar -t ARCHIVE MODULE...'. When
- verbose output is on, the listing is like `ar -tv ARCHIVE
- MODULE...'.
-
- Output normally goes to the standard output stream; however, if you
- specify OUTPUTFILE as a final argument, `ar' directs the output to
- that file.
-
- `END'
- Exit from `ar', with a `0' exit code to indicate successful
- completion. This command does not save the output file; if you
- have changed the current archive since the last `SAVE' command,
- those changes are lost.
-
- `EXTRACT MODULE, MODULE, ... MODULE'
- Extract each named MODULE from the current archive, writing them
- into the current directory as separate files. Equivalent to `ar -x
- ARCHIVE MODULE...'.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `LIST'
- Display full contents of the current archive, in "verbose" style
- regardless of the state of `VERBOSE'. The effect is like `ar tv
- ARCHIVE'). (This single command is a GNU `ld' enhancement, rather
- than present for MRI compatibility.)
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `OPEN ARCHIVE'
- Opens an existing archive for use as the current archive (required
- for many other commands). Any changes as the result of subsequent
- commands will not actually affect ARCHIVE until you next use
- `SAVE'.
-
- `REPLACE MODULE, MODULE, ... MODULE'
- In the current archive, replace each existing MODULE (named in the
- `REPLACE' arguments) from files in the current working directory.
- To execute this command without errors, both the file, and the
- module in the current archive, must exist.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- `VERBOSE'
- Toggle an internal flag governing the output from `DIRECTORY'.
- When the flag is on, `DIRECTORY' output matches output from `ar
- -tv '....
-
- `SAVE'
- Commit your changes to the current archive, and actually save it
- as a file with the name specified in the last `CREATE' or `OPEN'
- command.
-
- Requires prior use of `OPEN' or `CREATE'.
-
- File: binutils.info, Node: objcopy, Next: nm, Prev: ar, Up: Top
-
- objcopy
- *******
-
- objcopy [ -F FORMAT | --format=FORMAT ]
- [ -I FORMAT | --input-format=FORMAT ]
- [ -O FORMAT | --output-format=FORMAT ]
- [ -S | --strip-all ] [ -g | --strip-debug ]
- [ -x | --discard-all ] [ -X | --discard-locals ]
- [ -v | --verbose ] [ -V | --version ]
- INFILE [OUTFILE]
-
- The GNU `objcopy' utility copies the contents of an object file to
- another. `objcopy' uses the GNU BFD Library to read and write the
- object files. It can write the destination object file in a format
- different from that of the source object file. The exact behavior of
- `objcopy' is controlled by command-line options.
-
- `objcopy' creates temporary files to do its translations and deletes
- them afterward. `objcopy' uses BFD to do all its translation work; it
- knows about all the formats BFD knows about, and thus is able to
- recognize most formats without being told explicitly. *Note BFD:
- (ld.info)BFD the GNU linker.
-
- `INFILE'
- `OUTFILE'
- The source and output files respectively. If you do not specify
- OUTFILE, `objcopy' creates a temporary file and destructively
- renames the result with the name of the input file.
-
- `-I FORMAT'
- `--input-format=FORMAT'
- Consider the source file's object format to be FORMAT, rather than
- attempting to deduce it.
-
- `-O FORMAT'
- `--output-format=FORMAT'
- Write the output file using the object format FORMAT.
-
- `-F FORMAT'
- `--format=FORMAT'
- Use FORMAT as the object format for both the input and the output
- file; i.e. simply transfer data from source to destination with no
- translation.
-
- `-S'
- `--strip-all'
- Do not copy relocation and symbol information from the source file.
-
- `-g'
- `--strip-debug'
- Do not copy debugging symbols from the source file.
-
- `-x'
- `--discard-all'
- Do not copy non-global symbols from the source file.
-
- `-X'
- `--discard-locals'
- Do not copy compiler-generated local symbols. (These usually
- start with `L' or `.'.)
-
- `-V'
- `--version'
- Show the version number of `objcopy'.
-
- `-v'
- `--verbose'
- Verbose output: list all object files modified. In the case of
- archives, `objcopy -V' lists all members of the archive.
-
- File: binutils.info, Node: nm, Next: objdump, Prev: objcopy, Up: Top
-
- nm
- **
-
- 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=BFDNAME ]
- [ OBJFILE... ]
-
- GNU `nm' lists the symbols from object files OBJFILE....
-
- The long and short forms of options, shown here as alternatives, are
- equivalent.
-
- `OBJFILE...'
- Object files whose symbols are to be listed. If no object files
- are listed as arguments, `nm' assumes `a.out'.
-
- `-a'
- `--debug-syms'
- Display debugger-only symbols; normally these are not listed.
-
- `-g'
- `--extern-only'
- Display only external symbols.
-
- `-p'
- `--no-sort'
- Don't bother to sort the symbols in any order; just print them in
- the order encountered.
-
- `-n'
- `--numeric-sort'
- Sort symbols numerically by their addresses, rather than
- alphabetically by their names.
-
- `-s'
- `--print-armap'
- When listing symbols from archive members, include the index: a
- mapping (stored in the archive by `ar' or `ranlib') of which
- modules contain definitions for which names.
-
- `-o'
- `--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.
-
- `-r'
- `--reverse-sort'
- Reverse the order of the sort (whether numeric or alphabetic); let
- the last come first.
-
- `--target=BFDNAME'
- Specify an object code format other than your system's default
- format. *Note objdump::, for information on listing available
- formats.
-
- `-u'
- `--undefined-only'
- Display only undefined symbols (those external to each object
- file).
-
- File: binutils.info, Node: objdump, Next: ranlib, Prev: nm, Up: Top
-
- objdump
- *******
-
- objdump [ -a ] [ -b BFDNAME ] [ -d ] [ -f ]
- [ -h | --header ] [ -i ] [ -j SECTION ] [ -l ]
- [ -m MACHINE ] [ -r | --reloc ] [ -s ]
- [ --stabs ] [ -t | --syms ] [ -x ]
- OBJFILE...
-
- `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.
-
- `OBJFILE...'
- The object files to be examined. When you specify archives,
- `objdump' shows information on each of the member object files.
-
- `-a'
- If any of the OBJFILE files are archives, display the archive
- header information (in a format similar to `ls -l'). Besides the
- information you could list with `ar tv', `objdump -a' shows the
- object file format of each archive member.
-
- `-b BFDNAME'
- Specify that the object-code format for the object files is
- BFDNAME. This option may not be necessary; OBJDUMP can
- automatically recognize many formats.
-
- For example,
- objdump -b oasys -m vax -h fu.o
-
- displays summary information from the section headers (`-h') of
- `fu.o', which is explicitly identified (`-m') as a VAX object file
- in the format produced by Oasys compilers. You can list the
- formats available with the `-i' option.
-
- `-d'
- Disassemble. Display the assembler mnemonics for the machine
- instructions from OBJFILE.
-
- `-f'
- File header. Display summary information from the overall header
- of each of the OBJFILE files.
-
- `-h'
- `--header'
- Header. Display summary information from the section headers of
- the object file.
-
- `-i'
- Display a list showing all architectures and object formats
- available for specification with `-b' or `-m'.
-
- `-j NAME'
- Display information only for section NAME.
-
- `-l'
- Label the display (using debugging information) with the source
- filename and line numbers corresponding to the object code shown.
-
- `-m MACHINE'
- Specify that the object files OBJFILE are for architecture
- MACHINE. You can list available architectures using the `-i'
- option.
-
- `-r'
- `--reloc'
- Relocation. Print the relocation entries of the file.
-
- `-s'
- Display the full contents of any sections requested.
-
- `--stabs'
- Display the full contents of any sections requested. Display the
- contents of the .stab and .stab.index and .stab.excl sections from
- an ELF file. This is only useful on systems (such as Solaris 2.0)
- in which `.stab' debugging symbol-table entries are carried in an
- ELF section. In most other file formats, debugging symbol-table
- entries are interleaved with linkage symbols, and are visible in
- the `--syms' output.
-
- `-t'
- `--syms'
- Symbol Table. Print the symbol table entries of the file. This
- is similar to the information provided by the `nm' program.
-
- `-x'
- Display all available header information, including the symbol
- table and relocation entries. Using `-x' is equivalent to
- specifying all of `-a -f -h -r -t'.
-
- File: binutils.info, Node: ranlib, Next: size, Prev: objdump, Up: Top
-
- ranlib
- ******
-
- ranlib [-vV] ARCHIVE
-
- `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 `nm -s' or `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 `ranlib' program is another form of GNU `ar'; running
- `ranlib' is completely equivalent to executing `ar -s'. *Note ar::.
-
- `-v'
- `-V'
- Show the version number of `ranlib'.
-
- File: binutils.info, Node: size, Next: strip, Prev: ranlib, Up: Top
-
- size
- ****
-
- size [ -A | -B | --format=COMPATIBILITY ]
- [ --help ] [ -d | -o | -x | --radix=NUMBER ]
- [ --target=BFDNAME ] [ -V | --version ]
- OBJFILE...
-
- The GNU `size' utility lists the section sizes--and the total
- size--for each of the object or archive files OBJFILE 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:
- `OBJFILE...'
- The object files to be examined.
-
- `-A'
- `-B'
- `--format=COMPATIBILITY'
- Using one of these options, you can choose whether the output from
- GNU `size' resembles output from System V `size' (using `-A', or
- `--format=sysv'), or Berkeley `size' (using `-B', or
- `--format=berkeley'). The default is the one-line format similar
- to Berkeley's.
-
- Here is an example of the Berkeley (default) format of output from
- `size':
- size --format Berkeley ranlib size
- text data bss dec hex filename
- 294880 81920 11592 388392 5ed28 ranlib
- 294880 81920 11888 388688 5ee50 size
-
- This is the same data, but displayed closer to System V
- conventions:
-
- 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
-
- `--help'
- Show a summary of acceptable arguments and options.
-
- `-d'
- `-o'
- `-x'
- `--radix=NUMBER'
- Using one of these options, you can control whether the size of
- each section is given in decimal (`-d', or `--radix=10'); octal
- (`-o', or `--radix=8'); or hexadecimal (`-x', or `--radix=16').
- In `--radix=NUMBER', only the three values (8, 10, 16) are
- supported. The total size is always given in two radices; decimal
- and hexadecimal for `-d' or `-x' output, or octal and hexadecimal
- if you're using `-o'.
-
- `--target=BFDNAME'
- Specify that the object-code format for OBJFILE is BFDNAME. This
- option may not be necessary; `size' can automatically recognize
- many formats. *Note objdump::, for information on listing
- available formats.
-
- `-V'
- `--version'
- Display the version number of `size'.
-
- File: binutils.info, Node: strip, Next: cppfilt, Prev: size, Up: Top
-
- strip
- *****
-
- strip [ -F FORMAT | --format=FORMAT | --target=FORMAT ]
- [ -I FORMAT | --input-format=FORMAT ]
- [ -O FORMAT | --output-format=FORMAT ]
- [ -s | --strip-all ] [ -S | -g | --strip-debug ]
- [ -x | --discard-all ] [ -X | --discard-locals ]
- [ -v | --verbose ] [ -V | --version ]
- OBJFILE...
-
- GNU `strip' discards all symbols from object files OBJFILE. The
- list of object files may include archives.
-
- `strip' will not execute unless at least one object file is listed.
-
- `strip' modifies the files named in its argument, rather than
- writing modified copies under different names.
-
- `-I FORMAT'
- `--input-format=FORMAT'
- Treat the original OBJFILE as a file with the object code format
- FORMAT.
-
- `-O FORMAT'
- `--output-format=FORMAT'
- Replace OBJFILE with a file in the output format FORMAT.
-
- `-F FORMAT'
- `--format=FORMAT'
- `--target=FORMAT'
- Treat the original OBJFILE as a file with the object code format
- FORMAT, and rewrite it in the same format.
-
- `-s'
- `--strip-all'
- Remove all symbols.
-
- `-g'
- `-S'
- `--strip-debug'
- Remove debugging symbols only.
-
- `-x'
- `--discard-all'
- Remove non-global symbols.
-
- `-X'
- `--discard-locals'
- Remove compiler-generated local symbols. (These usually start
- with `L' or `.'.)
-
- `-V'
- `--version'
- Show the version number for `strip'.
-
- `-v'
- `--verbose'
- Verbose output: list all object files modified. In the case of
- archives, `strip -v' lists all members of the archive.
-
- File: binutils.info, Node: cppfilt, Next: Index, Prev: strip, Up: Top
-
- cppfilt
- *******
-
- The C++ language provides function overloading, which means that you
- can write many function with the same name (but taking different kinds
- of parameters). So that the linker can keep these overloaded functions
- from clashing, all C++ function names are encoded ("mangled") into a
- funny-looking low-level assembly label. The `cppfilt' program does the
- inverse mapping: It decodes ("demangles") low-level names into
- user-level names.
-
- When you use `cppfilt' as a filter (which is usually the case), it
- reads from standard input. Every alphanumeric word (consisting of
- letters, digits, underscores, dollars, or periods) seen in the input is
- a potential label. If the label decodes into a C++ name. the C++ name
- will replace the low-level name in the output.
-
- A typical use of `cppfilt' is to pipe the output of `nm' though it.
-
- Note that on some systems, both the C and C++ compilers put an
- underscore in front of every name. (I.e. the C name `foo' gets the
- low-level name `_foo'.) On such systems, `cppfilt' removes any initial
- underscore of a potential label.
-
- File: binutils.info, Node: Index, Prev: cppfilt, Up: Top
-
- Index
- *****
-
- * Menu:
-
- * .stab: objdump.
- * ar compatibility: ar.
- * a.out: nm.
- * all header information, object file: objdump.
- * ar: ar.
- * architecture: objdump.
- * architectures available: objdump.
- * archive contents: ranlib.
- * archive headers: objdump.
- * archives: ar.
- * collections of files: ar.
- * compatibility, ar: ar.
- * contents of archive: ar-cmdline.
- * cppfilt: cppfilt.
- * creating archives: ar-cmdline.
- * dates in archive: ar-cmdline.
- * debug symbols: objdump.
- * debugging symbols: nm.
- * deleting from archive: ar-cmdline.
- * demangling C++ symbols: cppfilt.
- * disassembling object code: objdump.
- * discarding symbols: strip.
- * ELF object file format: objdump.
- * external symbols: nm.
- * external symbols: nm.
- * extract from archive: ar-cmdline.
- * file name: nm.
- * header information, all: objdump.
- * input file name: nm.
- * libraries: ar.
- * machine instructions: objdump.
- * moving in archive: ar-cmdline.
- * MRI compatibility, ar: ar-scripts.
- * name duplication in archive: ar-cmdline.
- * name length: ar.
- * nm: nm.
- * objdump: objdump.
- * object code format: size.
- * object code format: objdump.
- * object code format: nm.
- * object file header: objdump.
- * object file information: objdump.
- * object file sections: objdump.
- * object formats available: objdump.
- * operations on archive: ar-cmdline.
- * printing from archive: ar-cmdline.
- * quick append to archive: ar-cmdline.
- * radix for section sizes: size.
- * ranlib: ranlib.
- * relative placement in archive: ar-cmdline.
- * relocation entries, in object file: objdump.
- * removing symbols: strip.
- * repeated names in archive: ar-cmdline.
- * replacement in archive: ar-cmdline.
- * scripts, ar: ar-scripts.
- * section headers: objdump.
- * section information: objdump.
- * section sizes: size.
- * sections, full contents: objdump.
- * size: size.
- * size display format: size.
- * size number format: size.
- * sorting symbols: nm.
- * source file name: nm.
- * source filenames for object files: objdump.
- * stab: objdump.
- * strip: strip.
- * symbol index: ranlib.
- * symbol index: ar.
- * symbol index, listing: nm.
- * symbol table entries, printing: objdump.
- * symbols: nm.
- * symbols, discarding: strip.
- * undefined symbols: nm.
- * Unix compatibility, ar: ar-cmdline.
- * updating an archive: ar-cmdline.
- * version: Top.
- * writing archive index: ar-cmdline.
-
-
- Tag Table:
- Node: Top900
- Node: ar1685
- Node: ar-cmdline3856
- Node: ar-scripts10275
- Node: objcopy15948
- Node: nm18242
- Node: objdump20057
- Node: ranlib23424
- Node: size24158
- Node: strip26842
- Node: cppfilt28453
- Node: Index29627
- End Tag Table
-