strip(1)
NAME
strip − strip symbol and line number information from an object file
SYNOPSIS
strip [-l] [-x] [-r] [-V] filename ...
DESCRIPTION
strip removes the symbol table and line number information from object files, including archives. Thereafter, no symbolic debugging access is available for that file; thus, this command is normally run only on production modules that have been debugged and tested. The effect is nearly identical to using the -s option of ld.
Options
The amount of information stripped from the symbol table can be controlled by using any of the following options:
-l Strip line number information only; do not strip any symbol table information.
-x Do not strip static or external symbol information.
Note that the -l and -x options are synonymous because the symbol table contains only static and external symbols. Either option strips only symbolic debugging information and unloadable data.
-r Reset the relocation indexes into the symbol table. This option allows strip to be run on relocatable files, in which case the effect is also to strip only symbolic debugging information and unloadable data.
-V Print the version of the strip command on the standard error output.
If there are any relocation entries in the object file and any symbol table information is to be stripped, strip complains and terminates without stripping filename unless the -r option is used.
If strip is executed on an archive file (see ar(4)), the archive symbol table is removed. The archive symbol table must be restored by executing ar with its s operator (see ar(1)) before the archive can be used by the ld command (se ld(1)). strip instructs the user with appropriate warning messages when this situation arises.
The purpose of this command is to reduce file storage overhead consumed by the object file.
EXTERNAL INFLUENCES
Environment Variables
The following internationalization variables affect the execution of size:
LANG
Determines the locale category for native language, local customs and coded character set in the absence of LC_ALL and other LC_* environment variables. If LANG is not specified or is set to the empty string, a default of C (see lang(5)) is used instead of LANG.
LC_ALL
Determines the values for all locale categories and has precedence over LANG and other LC_* environment variables.
LC_MESSAGES
Determines the locale that should be used to affect the format and contents of diagnostic messages written to standard error.
LC_NUMERIC
Determines the locale category for numeric formatting.
LC_CTYPE
Determines the locale category for character handling functions.
NLSPATH
Determines the location of message catalogues for the processing of LC_MESSAGES.
If any internationalization variable contains an invalid setting, strip behaves as if all internationalization variables are set to C. See environ(5).
In addition, the following environment variable affects strip:
TMPDIR
Specifies a directory for temporary files (see tmpnam(3S)).
International Code Set Support
Single- and multi-byte character code sets are supported.
DIAGNOSTICS
strip: name: cannot open name cannot be read.
strip: name: bad magic name is not an appropriate object file.
strip: name: relocation entries present; cannot strip
name contains relocation entries and the -r option was not specified. Symbol table information cannot be stripped.
EXAMPLES
Strip symbol table and debug information from the shared library libfoo.sl in the current directory to reduce its size. Symbol information required to use the library is preserved:
strip ./libfoo.sl
FILES
/var/tmp/SGSstrp* temporary files
SEE ALSO
System Tools:
ar(1) create archived libraries
as(1) translate assembly code to machine code
cc(1) invoke the HP-UX C compiler
ld(1) invoke the link editor
Miscellaneous:
a.out(4) assembler, compiler, and linker output
ar(4) archive format
STANDARDS CONFORMANCE
strip: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2
Hewlett-Packard Company — HP-UX Release 10.20: July 1996