.\" Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation
.\" See section COPYING for conditions for redistribution
.TH strip 1 "5 November 1991" "cygnus support" "GNU Development Tools"
.de BP
.sp
.ti \-.2i
\(**
..

.SH NAME
strip \- Discard symbols from object files.

.SH SYNOPSIS
.hy 0
.na
.TP
.B strip
.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
\&.\|.\|.

.SH DESCRIPTION
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
.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
Remove all symbols.

.TP
.B \-S
.TP
.B \-g
.TP
.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 \-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
Remove non-global symbols.

.TP
.B \-X
.TP
.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 
.BR info ;
.IR "The GNU Binary Utilities" ,
Roland H. Pesch (October 1991).

.SH COPYING
Copyright (c) 1991 Free Software Foundation, Inc.
.PP
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.
.PP
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
.PP
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be included in
translations approved by the Free Software Foundation instead of in
the original English.
