[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: binutils-2.11.2 strip -s wierdness
From: |
Manfred Hollstein |
Subject: |
Re: binutils-2.11.2 strip -s wierdness |
Date: |
Wed, 12 Sep 2001 17:08:11 +0200 |
Magnus Damm wrote:
>
> Hi folks,
>
> I've used binutils-2.10 for quite some time,
> and now I've upgraded to 2.11.2.
>
> I have one wierd problem to report.
>
> "strip -s" works fine with 2.10, but fails with 2.11.2.
> "strip --strip-all" seems to work though.
>
> Either "strip --help" gives wrong information about -s, or
> strip acts wierd.
This behaviour is caused by the merge of the objcopy and the strip
program which had happened between 2.10 and 2.11.x. It also caused
another failure when invoking strip as follows:
$ strip -o a.stripped a.out
Usage: strip <switches> in-file(s)
The switches are:
...
Both problems are fixed by the attached patch; can someone with
write permission please install it in the branch?
TIA, cheers.
l8er
manfred
>
> I've cross-compiled binutils for a ppc-linux.
>
> Please CC me - I'm not on this list.
>
> Thanks /
>
> Magnus
>
> address@hidden:~/scdb/scdb_20010907x/root/scl-0.01/mpc8xx/xxx/bin$
> ../../install/host/usr/bin/ppc-linux-strip -s busybox
> Usage: ../../install/host/usr/bin/ppc-linux-strip <switches> in-file(s)
> The switches are:
> -I --input-target <bfdname> Assume input file is in format
> <bfdname>
> -O --output-target <bfdname> Create an output file in format
> <bfdname>
> -F --target <bfdname> Set both input and output format to
> <bfdname>
> -p --preserve-dates Copy modified/access timestamps to
> the output
> -R --remove-section <name> Remove section <name> from the output
> -s --strip-all Remove all symbol and relocation
> information
> -g -S --strip-debug Remove all debugging symbols
> --strip-unneeded Remove all symbols not needed by
> relocations
> -N --strip-symbol <name> Do not copy symbol <name>
> -K --keep-symbol <name> Only copy symbol <name>
> -x --discard-all Remove all non-global symbols
> -X --discard-locals Remove any compiler-generated symbols
> -v --verbose List all object files modified
> -V --version Display this program's version number
> -h --help Display this output
> -o <file> Place stripped output into <file>
> ../../install/host/usr/bin/ppc-linux-strip: supported targets:
> elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot elf32-little
> elf32-big srec symbolsrec tekhex binary ihex
> address@hidden:~/scdb/scdb_20010907x/root/scl-0.01/mpc8xx/xxx/bin$
> ../../install/host/usr/bin/ppc-linux-strip --strip-all busybox
> address@hidden:~/scdb/scdb_20010907x/root/scl-0.01/mpc8xx/xxx/bin$
2001-09-12 Manfred Hollstein <address@hidden>
* objcopy.c (strip_main): -s/--strip-all option doesn't take an
argument.
2001-07-25 Manfred Hollstein <address@hidden>
* objcopy.c (strip_options): Add entry for the --output-file
command line flag.
(strip_main): Add entry for -o/--output-file argument.
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x
*.orig -x *~ -x version.el binutils-2.11.2.orig/binutils/objcopy.c
binutils-2.11.2/binutils/objcopy.c
--- binutils-2.11.2.orig/binutils/objcopy.c Thu Jun 7 05:12:27 2001
+++ binutils-2.11.2/binutils/objcopy.c Wed Sep 12 16:47:28 2001
@@ -238,6 +238,7 @@ static struct option strip_options[] =
{"input-format", required_argument, 0, 'I'}, /* Obsolete */
{"input-target", required_argument, 0, 'I'},
{"keep-symbol", required_argument, 0, 'K'},
+ {"output-file", required_argument, 0, 'o'},
{"output-format", required_argument, 0, 'O'}, /* Obsolete */
{"output-target", required_argument, 0, 'O'},
{"preserve-dates", no_argument, 0, 'p'},
@@ -1835,7 +1836,7 @@ strip_main (argc, argv)
struct section_list *p;
char *output_file = NULL;
- while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:s:O:d:F:L:G:R:SpgxXVvW:",
+ while ((c = getopt_long (argc, argv, "b:i:I:j:K:N:o:O:d:F:L:G:R:sSpgxXVvW:",
strip_options, (int *) 0)) != EOF)
{
switch (c)