MirOS Manual: strip(1)


STRIP(1)              GNU Development Tools              STRIP(1)

NAME

     strip - Discard symbols from object files.

SYNOPSIS

     strip [-F bfdname |--target=bfdname]
           [-I bfdname |--input-target=bfdname]
           [-O bfdname |--output-target=bfdname]
           [-s|--strip-all]
           [-S|-g|-d|--strip-debug]
           [-K symbolname |--keep-symbol=symbolname]
           [-N symbolname |--strip-symbol=symbolname]
           [-w|--wildcard]
           [-x|--discard-all] [-X |--discard-locals]
           [-R sectionname |--remove-section=sectionname]
           [-o file] [-p|--preserve-dates]
           [--only-keep-debug]
           [-v |--verbose] [-V|--version]
           [--help] [--info]
           objfile...

DESCRIPTION

     GNU strip discards all symbols from object files objfile.
     The list of object files may include archives. At least one
     object file must be given.

     strip modifies the files named in its argument, rather than
     writing modified copies under different names.

OPTIONS

     -F bfdname
     --target=bfdname
         Treat the original objfile as a file with the object
         code format bfdname, and rewrite it in the same format.

     --help
         Show a summary of the options to strip and exit.

     --info
         Display a list showing all architectures and object
         formats available.

     -I bfdname
     --input-target=bfdname
         Treat the original objfile as a file with the object
         code format bfdname.

     -O bfdname
     --output-target=bfdname
         Replace objfile with a file in the output format
         bfdname.

     -R sectionname

binutils-050707            2014-07-04                           1

STRIP(1)              GNU Development Tools              STRIP(1)

     --remove-section=sectionname
         Remove any section named sectionname from the output
         file.  This option may be given more than once.  Note
         that using this option inappropriately may make the
         output file unusable.

     -s
     --strip-all
         Remove all symbols.

     -g
     -S
     -d
     --strip-debug
         Remove debugging symbols only.

     --strip-unneeded
         Remove all symbols that are not needed for relocation
         processing.

     -K symbolname
     --keep-symbol=symbolname
         When stripping symbols, keep symbol symbolname even if
         it would normally be stripped.  This option may be given
         more than once.

     -N symbolname
     --strip-symbol=symbolname
         Remove symbol symbolname from the source file. This
         option may be given more than once, and may be combined
         with strip options other than -K.

     -o file
         Put the stripped output in file, rather than replacing
         the existing file.  When this argument is used, only one
         objfile argument may be specified.

     -p
     --preserve-dates
         Preserve the access and modification dates of the file.

     -w
     --wildcard
         Permit regular expressions in symbolnames used in other
         command line options.  The question mark (?), asterisk
         (*), backslash (\) and square brackets ([]) operators
         can be used anywhere in the symbol name.  If the first
         character of the symbol name is the exclamation point
         (!) then the sense of the switch is reversed for that
         symbol. For example:

                   -w -K !foo -K fo*

binutils-050707            2014-07-04                           2

STRIP(1)              GNU Development Tools              STRIP(1)

         would cause strip to only keep symbols that start with
         the letters ``fo'', but to discard the symbol ``foo''.

     -x
     --discard-all
         Remove non-global symbols.

     -X
     --discard-locals
         Remove compiler-generated local symbols. (These usually
         start with L or ..)

     --only-keep-debug
         Strip a file, removing any sections that would be
         stripped by --strip-debug and leaving the debugging
         sections.

         The intention is that this option will be used in
         conjunction with --add-gnu-debuglink to create a two
         part executable.  One a stripped binary which will
         occupy less space in RAM and in a distribution and the
         second a debugging information file which is only needed
         if debugging abilities are required.  The suggested
         procedure to create these files is as follows:

         1.<Link the executable as normal.  Assuming that is is
          called>
             "foo" then...

         1.<Run "objcopy --only-keep-debug foo foo.dbg" to>
             create a file containing the debugging info.

         1.<Run "objcopy --strip-debug foo" to create a>
             stripped executable.

         1.<Run "objcopy --add-gnu-debuglink=foo.dbg foo">
             to add a link to the debugging info into the
             stripped executable.

         Note - the choice of ".dbg" as an extension for the
         debug info file is arbitrary.  Also the
         "--only-keep-debug" step is optional.  You could instead
         do this:

         1.<Link the executable as normal.>
         1.<Copy "foo" to  "foo.full">
         1.<Run "strip --strip-debug foo">
         1.<Run "objcopy --add-gnu-debuglink=foo.full foo">

         ie the file pointed to by the --add-gnu-debuglink can be
         the full executable.  It does not have to be a file
         created by the --only-keep-debug switch.

binutils-050707            2014-07-04                           3

STRIP(1)              GNU Development Tools              STRIP(1)

     -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.

SEE ALSO

     the Info entries for binutils.

COPYRIGHT

     Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997,
     1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
     Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation
     License, Version 1.1 or any later version published by the
     Free Software Foundation; with no Invariant Sections, with
     no Front-Cover Texts, and with no Back-Cover Texts.  A copy
     of the license is included in the section entitled ``GNU
     Free Documentation License''.

binutils-050707            2014-07-04                           4

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.