NAME
strip — strip symbol and line number information from an object file
SYNOPSIS
strip
[-l]
[-x]
[-r]
[-V]
[-U]
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 (SOM only). Obsolete for
ELF files.
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.
- -U
Print the usage menu.
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
strip:
- 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.
- ST_STRIPCAT
- 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.so
in the current directory to reduce its size.
Symbol information required to use the library is preserved:
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