diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-03-10 00:48:10 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-03-10 00:48:10 +0000 |
commit | 0691f7afbc8ec41ca26f21b5dafc4eeb4ca517eb (patch) | |
tree | d24b507deb24e0af671e2174cec22ba0e31fbf70 | |
parent | 47d6e8f1cc45e5a564118078c46cadf4fc78c96d (diff) | |
download | gdb-0691f7afbc8ec41ca26f21b5dafc4eeb4ca517eb.zip gdb-0691f7afbc8ec41ca26f21b5dafc4eeb4ca517eb.tar.gz gdb-0691f7afbc8ec41ca26f21b5dafc4eeb4ca517eb.tar.bz2 |
binutils/
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9933
* objcopy.c (filter_symbols): Properly handle common symbols
in relocatable file.
binutils/testsuite/
2009-03-09 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/9933
* binutils-all/copy-4.d: New.
* binutils-all/objcopy.exp: Run copy-4.
-rw-r--r-- | binutils/ChangeLog | 6 | ||||
-rw-r--r-- | binutils/objcopy.c | 3 | ||||
-rw-r--r-- | binutils/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/copy-4.d | 9 | ||||
-rw-r--r-- | binutils/testsuite/binutils-all/objcopy.exp | 1 |
5 files changed, 25 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 111002d..880d6e4 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2009-03-09 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/9933 + * objcopy.c (filter_symbols): Properly handle common symbols + in relocatable file. + 2009-03-06 Nick Clifton <nickc@redhat.com> * po/es.po: Updated Spanish translation. diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 6523110..07d4f3f 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1028,7 +1028,8 @@ filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms, used_in_reloc = TRUE; } else if (relocatable /* Relocatable file. */ - && (flags & (BSF_GLOBAL | BSF_WEAK)) != 0) + && ((flags & (BSF_GLOBAL | BSF_WEAK)) != 0 + || bfd_is_com_section (bfd_get_section (sym)))) keep = TRUE; else if (bfd_decode_symclass (sym) == 'I') /* Global symbols in $idata sections need to be retained diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog index 74feea2..81e6c17 100644 --- a/binutils/testsuite/ChangeLog +++ b/binutils/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-03-09 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/9933 + * binutils-all/copy-4.d: New. + + * binutils-all/objcopy.exp: Run copy-4. + 2009-03-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * config/hppa.sed: Fix spelling. diff --git a/binutils/testsuite/binutils-all/copy-4.d b/binutils/testsuite/binutils-all/copy-4.d new file mode 100644 index 0000000..41fccf0 --- /dev/null +++ b/binutils/testsuite/binutils-all/copy-4.d @@ -0,0 +1,9 @@ +#PROG: strip +#source: bintest.s +#strip: --strip-unneeded +#nm: -n +#name: strip --strip-unneeded on common symbol + +#... +0+04 C common_symbol +#pass diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp index 997b543..d45d717 100644 --- a/binutils/testsuite/binutils-all/objcopy.exp +++ b/binutils/testsuite/binutils-all/objcopy.exp @@ -835,6 +835,7 @@ if [is_elf_format] { run_dump_test "copy-2" run_dump_test "copy-3" +run_dump_test "copy-4" if [is_elf_format] { run_dump_test "strip-1" |