-.\" Copyright (c) 1991 Free Software Foundation
+.\" Copyright (c) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation
.\" See section COPYING for conditions for redistribution
-.\" $Id$
.TH strip 1 "5 November 1991" "cygnus support" "GNU Development Tools"
.de BP
.sp
..
.SH NAME
-strip\(em\&Discard symbols from object files.
+strip \- Discard symbols from object files.
.SH SYNOPSIS
.hy 0
.na
.TP
.B strip
-.RB "[\|" \-s | +strip-all "\|]"
-.RB "[\|" \-g | \-S | +strip-debug\c
-\|]
-.RB "[\|" \-x | +discard-all "\|]"
-.RB "[\|" \-X | +discard-locals "\|]"
-.RB "[\|" "\-T\ "\c
-.I bfdname\c
-\&\|]
-.I objfiles\c
+.RB "[\|" \-F\ \fIbfdname\fR\ |\ \fB\-\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-I\ \fIbfdname\fR\ |\ \fB\-\-input\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-O\ \fIbfdname\fR\ |\ \fB\-\-output\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-R\ \fIsectionname\fR\ |\ \fB\-\-remove\-section=\fIsectionname\fP "\|]"
+.RB "[\|" \-s\fR\ |\ \fB\-\-strip\-all "\|]"
+.RB "[\|" \-S\fR\ |\ \fB\-g\fR\ |\ \fB\-\-strip\-debug "\|]"
+.RB "[\|" \-\-strip\-unneeded\fR "\|]"
+.RB "[\|" \-x\fR\ |\ \fB\-\-discard\-all "\|]"
+.RB "[\|" \-X\fR\ |\ \fB\-\-discard\-locals "\|]"
+.RB "[\|" \-K\ \fIsymbolname\fR\ |\ \fB\-\-keep\-symbol=\fIsymbolname\fR "\|]"
+.RB "[\|" \-N\ \fIsymbolname\fR\ |\ \fB\-\-strip\-symbol=\fIsymbolname\fR "\|]"
+.RB "[\|" \-o\ \fIfile\f\R "\|]"
+.RB "[\|" \-p\fR\ |\ \fB\-\-preserve\-dates "\|]"
+.RB "[\|" \-v\fR\ |\ \fB\-\-verbose "\|]"
+.RB "[\|" \-V\fR\ |\ \fB\-\-version "\|]"
+.RB "[\|" \-V\fR\ |\ \fB\-\-help "\|]"
+.I objfile\c
\&.\|.\|.
-.ad b
-.hy 1
+
.SH DESCRIPTION
-GNU \c
-.B strip\c
-\& will discard all symbols from object files
-\c
-.I objfiles\c
-\&, if no options are specified; or only certain symbols,
-depending on its command-line options.
-
-\c
-.B strip\c
-\& will not execute unless at least one object file is listed.
-
-.I WARNING:\c
-\& \c
-.B strip\c
-\& modifies the files named in its argument,
+GNU
+.B strip
+discards all symbols from the object files
+.IR objfile .
+The list of object files may include archives.
+At least one object file must be given.
+
+.P
+.B strip
+modifies the files named in its argument,
rather than writing modified copies under different names.
.SH OPTIONS
-The long and short forms of options, shown here as alternatives, are
-equivalent.
+.TP
+.B "\-F \fIbfdname"
+.TP
+.B "\-\-target=\fIbfdname"
+Treat the original \fIobjfile\fP as a file with the object
+code format \fIbfdname\fP, and rewrite it in the same format.
+
+.TP
+.B \-\-help
+Show a summary of the options to
+.B strip
+and exit.
+
+.TP
+.B "\-I \fIbfdname
+.TP
+.B "\-\-input\-target=\fIbfdname"
+Treat the original \fIobjfile\fP as a file with the object
+code format \fIbfdname\fP.
+
+.TP
+.B "\-O \fIbfdname\fP"
+.TP
+.B "\-\-output\-target=\fIbfdname"
+Replace \fIobjfile\fP with a file in the output format \fIbfdname\fP.
+
+.TP
+.B "\-R \fIsectionname\fP"
+.TP
+.B "\-\-remove\-section=\fIsectionname"
+Remove the named section from the file. This option may be given more
+than once. Note that using this option inappropriately may make the
+object file unusable.
.TP
.B \-s
.TP
-.B +strip-all
-This is the default case: strip all symbol entries from \c
-.I objfiles\c
-\&.
+.B \-\-strip\-all
+Remove all symbols.
+.TP
+.B \-S
.TP
.B \-g
.TP
-.B \-S
+.B \-\-strip\-debug
+Remove debugging symbols only.
+
+.TP
+.B \-\-strip\-unneeded
+Strip all symbols that are not needed for relocation processing.
+
+.TP
+.B \-N \fIsymbolname\fR
+.TP
+.B \-\-strip\-symbol=\fIsymbolname
+Remove symbol \fIsymbolname\fP from the source file. This option
+may be given more than once, and may be combined with other strip
+options.
+
.TP
-.B +strip-debug
-Discard only debugging symbol information from \c
-.I objfiles\c
-\&.
+.B \-o \fIfile\fR
+Put the stripped output in \fIfile\fR, rather than replacing the
+existing file. When this argument is used, only one \fIobjfile\fR
+argument may be specified.
+
+.TP
+.B \-p
+.TP
+.B \-\-preserve-dates
+Preserve the access and modification dates of the file.
.TP
.B \-x
.TP
-.B +discard-all
-Discard all symbols local to each file in \c
-.I objfiles\c
-\&.
-\c
-.I WARNING:\c
-\& Note that \c
-.B +discard-all\c
-\& discards only \c
-.I local\c
-\&
-symbols, in spite of its name.
+.B \-\-discard\-all
+Remove non-global symbols.
.TP
.B \-X
.TP
-.B +discard-locals
-Discard local symbols starting with `\|\c
-.B L\c
-\|' from each file in
-\c
-.I objfiles\c
-\&. (Some compilers produce internally-used symbols that
-begin with `\|\c
-.B L\c
-\|'.)
-
-.TP
-.BI "-T " "bfdname"\c
-\&
-You can specify a particular object-code format \c
-.I bfdname\c
-\& for
-\c
-.I objfiles\c
-\&. This may not be necessary; \c
-.I strip\c
-\& can automatically
-recognize many formats. for information on listing
-available formats.
-.PP
+.B \-\-discard\-locals
+Remove compiler-generated local symbols.
+(These usually start with ``L'' or ``.''.)
+
+.TP
+.B \-K \fIsymbolname\fR, \fB\-\-keep\-symbol=\fIsymbolname
+Copy only symbol \fIsymbolname\fP from the source file. This option
+may be given more than once.
+
+.TP
+.B \-N \fIsymbolname\fR, \fB\-\-strip\-symbol=\fIsymbolname
+Do not copy symbol \fIsymbolname\fP from the source file. This option
+may be given more than once, and may be combined with strip options
+other than \fB\-K\fR.
+
+.TP
+.B \-v
+.TP
+.B \-\-verbose
+Verbose output: list all object files modified. In the case of
+archives,
+.B "strip \-V"
+lists all members of the archive.
+
+.TP
+.B \-V
+.TP
+.B \-\-version
+Show the version number for \fBstrip\fP and exit.
.SH "SEE ALSO"
.RB "`\|" binutils "\|'"
entry in
-.B
-info\c
-\&;
-.I
-The GNU Binary Utilities\c
-\&, Roland H. Pesch (October 1991).
+.BR info ;
+.IR "The GNU Binary Utilities" ,
+Roland H. Pesch (October 1991).
.SH COPYING
Copyright (c) 1991 Free Software Foundation, Inc.