Add support for removing named sections to objcopy and strip.
authorIan Lance Taylor <ian@airs.com>
Thu, 11 Aug 1994 19:00:26 +0000 (19:00 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 11 Aug 1994 19:00:26 +0000 (19:00 +0000)
* objcopy.c (struct section_list): Define.
(remove_sections): New static variable.
(strip_options, copy_options): Add remove-section.
(copy_usage, strip_usage): Mention -R and --remove-section.
(setup_section): If section is in remove_sections list, ignore it.
(copy_section): Likewise.
(strip_main, copy_main): Handle -R.
* binutils.texi, objcopy.1, strip.1: Document new options.

binutils/ChangeLog
binutils/binutils.texi
binutils/objcopy.1
binutils/strip.1

index 899c1c3..a3a1677 100644 (file)
@@ -1,3 +1,15 @@
+Thu Aug 11 14:55:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
+
+       Add support for removing named sections to objcopy and strip.
+       * objcopy.c (struct section_list): Define.
+       (remove_sections): New static variable.
+       (strip_options, copy_options): Add remove-section.
+       (copy_usage, strip_usage): Mention -R and --remove-section.
+       (setup_section): If section is in remove_sections list, ignore it.
+       (copy_section): Likewise.
+       (strip_main, copy_main): Handle -R.
+       * binutils.texi, objcopy.1, strip.1: Document new options.
+
 Wed Aug 10 10:19:55 1994  Stan Shebs  (shebs@andros.cygnus.com)
 
        * nlmconv.c (powerpc_mangle_relocs): Rename symvalue to sym_value,
index 77f2e2f..aeb67fb 100644 (file)
@@ -741,6 +741,7 @@ objcopy [ -F @var{bfdname} | --target=@var{bfdname} ]
         [ -x | --discard-all ]  [ -X | --discard-locals ]
         [ -b @var{byte} | --byte=@var{byte} ]
         [ -i @var{interleave} | --interleave=@var{interleave} ]
+        [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
         [ -v | --verbose ] [ -V | --version ]  [ --help ]
         @var{infile} [@var{outfile}]
 @end smallexample
@@ -781,6 +782,12 @@ Use @var{bfdname} as the object format for both the input and the output
 file; i.e., simply transfer data from source to destination with no
 translation.  @xref{Target Selection}, for more information.
 
+@item -R @var{sectionname}
+@itemx --remove-section=@var{sectionname}
+Remove any section named @var{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.
+
 @item -S
 @itemx --strip-all
 Do not copy relocation and symbol information from the source file.
@@ -1208,6 +1215,7 @@ strip [ -F @var{bfdname} | --target=@var{bfdname} | --target=@var{bfdname} ]
       [ -O @var{bfdname} | --output-target=@var{bfdname} ]
       [ -s | --strip-all ] [ -S | -g | --strip-debug ]
       [ -x | --discard-all ] [ -X | --discard-locals ]
+      [ -R @var{sectionname} | --remove-section=@var{sectionname} ]
       [ -v | --verbose ]  [ -V | --version ]  [ --help ]
       @var{objfile}@dots{}
 @end smallexample
@@ -1240,6 +1248,12 @@ code format @var{bfdname}.
 Replace @var{objfile} with a file in the output format @var{bfdname}.
 @xref{Target Selection}, for more information.
 
+@item -R @var{sectionname}
+@itemx --remove-section=@var{sectionname}
+Remove any section named @var{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.
+
 @item -s
 @itemx --strip-all
 Remove all symbols.
index 4ba1164..78877e6 100644 (file)
@@ -18,6 +18,7 @@ objcopy \- copy and translate object files
 .RB "[\|" \-F\ \fIbfdname\fB\ |\ \-\-target=\fIbfdname\fR "\|]" 
 .RB "[\|" \-I\ \fIbfdname\fB\ |\ \-\-input\-target=\fIbfdname\fR "\|]" 
 .RB "[\|" \-O\ \fIbfdname\fB\ |\ \-\-output\-target=\fIbfdname\fR "\|]" 
+.RB "[\|" \-R\ \fIsectionname\fB\ |\ \-\-remove\-section=\fIsectionname\fR "\|]"
 .RB "[\|" \-S\ |\ \-\-strip\-all\fR "\|]" 
 .RB "[\|" \-g\ |\ \-\-strip\-debug\fR "\|]" 
 .RB "[\|" \-x\ |\ \-\-discard\-all\fR "\|]" 
@@ -74,6 +75,11 @@ Use
 as the object format for both the input and the output file; i.e.
 simply transfer data from source to destination with no translation.
 .TP
+.B \-R \fIsectionname\fR, \fB\-\-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
+output file unusable.
+.TP
 .B \-S\fR, \fB\-\-strip\-all
 Do not copy relocation and symbol information from the source file.
 .TP
index 2854304..5373b9f 100644 (file)
 strip \- Discard symbols from object files.
 
 .SH SYNOPSIS
+.hy 0
+.na
+.TP
 .B strip
-.RB "[\|" "\-F \fIbfdname\fP" | \-\-target=\fIbfdname\fP "\|]"
-.RB "[\|" "\-I \fIbfdname\fP" | \-\-input\-target=\fIbfdname\fP "\|]"
-.RB "[\|" "\-O \fIbfdname\fP" | \-\-output\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-F \fIbfdname\fP\ |\ \-\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-I \fIbfdname\fP\ |\ \-\-input\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-O \fIbfdname\fP\ |\ \-\-output\-target=\fIbfdname\fP "\|]"
+.RB "[\|" \-R \fIsectionname\fP\ |\ \-\-remove\-section=\fIsectionname\fP "\|]"
 .RB "[\|" \-s | \-\-strip\-all "\|]"
 .RB "[\|" \-S | -g | \-\-strip\-debug "\|]"
 .RB "[\|" \-x | \-\-discard\-all "\|]"
@@ -66,6 +70,14 @@ code format \fIbfdname\fP.
 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