aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog15
-rw-r--r--binutils/binutils.texi14
-rw-r--r--binutils/objcopy.16
-rw-r--r--binutils/strip.18
4 files changed, 43 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 8a9a091..c516534 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -6,6 +6,21 @@ Thu Nov 17 15:00:13 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
* objcopy.c (main): Fix is_strip test. From
pirker@eiunix.tuwien.ac.at (Martin Pirker).
+Thu Nov 17 15:37:19 1994 Mark W. Eichin <eichin@cygnus.com>
+
+ * objcopy.c (add_strip_symbol): New function, adds a name to an
+ explicit list of symbols to strip.
+ (is_strip_symbol): New function, reports whether the name argument
+ is in the explicit list.
+ (filter_symbols): Check against is_strip_symbol above all.
+ (strip_main): Recognize -N option. If used, don't default to
+ strip_all.
+ (copy_main): Recognize -N option.
+ (strip_usage): Document -N and --strip-symbol options.
+ (copy_usage): Ditto.
+ * objcopy.1, strip.1, binutils.texi: Document -N and
+ --strip-symbol options.
+
Tue Nov 8 13:12:54 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
* objdump.c (display_target_list, display_info_table): Pass an
diff --git a/binutils/binutils.texi b/binutils/binutils.texi
index 30ea18b..76d516d 100644
--- a/binutils/binutils.texi
+++ b/binutils/binutils.texi
@@ -743,6 +743,7 @@ objcopy [ -F @var{bfdname} | --target=@var{bfdname} ]
[ -I @var{bfdname} | --input-target=@var{bfdname} ]
[ -O @var{bfdname} | --output-target=@var{bfdname} ]
[ -S | --strip-all ] [ -g | --strip-debug ]
+ [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ]
[ -x | --discard-all ] [ -X | --discard-locals ]
[ -b @var{byte} | --byte=@var{byte} ]
[ -i @var{interleave} | --interleave=@var{interleave} ]
@@ -821,6 +822,12 @@ Do not copy relocation and symbol information from the source file.
@itemx --strip-debug
Do not copy debugging symbols from the source file.
+@item -N @var{symbolname}
+@itemx --strip-symbol=@var{symbolname}
+Do not copy symbol @var{symbolname} from the source file. This option
+may be given more than once, and may be combined with other strip
+options.
+
@item -x
@itemx --discard-all
Do not copy non-global symbols from the source file.
@@ -1290,6 +1297,7 @@ strip [ -F @var{bfdname} | --target=@var{bfdname} | --target=@var{bfdname} ]
[ -I @var{bfdname} | --input-target=@var{bfdname} ]
[ -O @var{bfdname} | --output-target=@var{bfdname} ]
[ -s | --strip-all ] [ -S | -g | --strip-debug ]
+ [ -N @var{symbolname} | --strip-symbol=@var{symbolname} ]
[ -x | --discard-all ] [ -X | --discard-locals ]
[ -R @var{sectionname} | --remove-section=@var{sectionname} ]
[ -v | --verbose ] [ -V | --version ] [ --help ]
@@ -1339,6 +1347,12 @@ Remove all symbols.
@itemx --strip-debug
Remove debugging symbols only.
+@item -N @var{symbolname}
+@itemx --strip-symbol=@var{symbolname}
+Remove symbol @var{symbolname} from the source file. This option
+may be given more than once, and may be combined with other strip
+options.
+
@item -x
@itemx --discard-all
Remove non-global symbols.
diff --git a/binutils/objcopy.1 b/binutils/objcopy.1
index 0bf5727..c5b04a9 100644
--- a/binutils/objcopy.1
+++ b/binutils/objcopy.1
@@ -21,6 +21,7 @@ objcopy \- copy and translate object files
.RB "[\|" \-R\ \fIsectionname\fB\ |\ \-\-remove\-section=\fIsectionname\fR "\|]"
.RB "[\|" \-S\ |\ \-\-strip\-all\fR "\|]"
.RB "[\|" \-g\ |\ \-\-strip\-debug\fR "\|]"
+.RB "[\|" \-N\ \fIsymbolname\fR\ |\ \-\-strip\-symbol=\fIsymbolname\fR "\|]"
.RB "[\|" \-x\ |\ \-\-discard\-all\fR "\|]"
.RB "[\|" \-X\ |\ \-\-discard\-locals\fR "\|]"
.RB "[\|" \-b\ \fIbyte\fR\ |\ \fB\-\-byte=\fIbyte\fR "\|]"
@@ -120,6 +121,11 @@ Do not copy relocation and symbol information from the source file.
.B \-g\fR, \fB\-\-strip\-debug
Do not copy debugging symbols from the source file.
.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 other strip
+options.
+.TP
.B \-x\fR, \fB \-\-discard\-all
Do not copy non-global symbols from the source file.
.TP
diff --git a/binutils/strip.1 b/binutils/strip.1
index 5373b9f..e1ec592 100644
--- a/binutils/strip.1
+++ b/binutils/strip.1
@@ -92,6 +92,14 @@ Remove all symbols.
Remove debugging symbols only.
.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 \-x
.TP
.B \-\-discard\-all