PR binutils/3166
authorNick Clifton <nickc@redhat.com>
Tue, 5 Sep 2006 08:22:27 +0000 (08:22 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 5 Sep 2006 08:22:27 +0000 (08:22 +0000)
* objcopy.c (is_strip_section): Do not treat group sections as debugging sections.
* doc/binutils.texi (--only-keep-debug): Document that this switch is only intended for use on fully linked files.

binutils/ChangeLog
binutils/doc/binutils.texi
binutils/objcopy.c

index 184f0b18d3a783aa84f87b636ed9255b6cb16519..b36b87530da4cd879b5e3bef141d72a7d74cd610 100644 (file)
@@ -1,3 +1,11 @@
+2006-09-05  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/3166
+       * objcopy.c (is_strip_section): Do not treat group sections as
+       debugging sections.
+       * doc/binutils.texi (--only-keep-debug): Document that this switch
+       is only intended for use on fully linked files.
+
 2006-09-01  Nick Clifton  <nickc@redhat.com>
 
        PR binutils/3146
index d74be80a9edd83cfb8375035fdb5cecf775a1384..e6d9ecdce25d29b341575c6181fbfb9360dcd843 100644 (file)
@@ -1482,6 +1482,13 @@ i.e., the file pointed to by the @option{--add-gnu-debuglink} can be the
 full executable.  It does not have to be a file created by the
 @option{--only-keep-debug} switch.
 
+Note - this switch is only intended for use on fully linked files.  It
+does not make sense to use it on object files where the debugging
+information may be incomplete.  Besides the gnu_debuglink feature
+currently only supports the presence of one filename containing
+debugging information, not multiple filenames on a one-per-object-file
+basis.
+
 @item -V
 @itemx --version
 Show the version number of @command{objcopy}.
@@ -2391,6 +2398,13 @@ ie the file pointed to by the @option{--add-gnu-debuglink} can be the
 full executable.  It does not have to be a file created by the
 @option{--only-keep-debug} switch.
 
+Note - this switch is only intended for use on fully linked files.  It
+does not make sense to use it on object files where the debugging
+information may be incomplete.  Besides the gnu_debuglink feature
+currently only supports the presence of one filename containing
+debugging information, not multiple filenames on a one-per-object-file
+basis.
+
 @item -V
 @itemx --version
 Show the version number for @command{strip}.
index 0d5684503ca8d1efb2bec30e70e4f007af76af60..8db5ef020022c457f45caef32fd8b269bb46427e 100644 (file)
@@ -815,6 +815,13 @@ is_strip_section (bfd *abfd ATTRIBUTE_UNUSED, asection *sec)
        return FALSE;
     }
 
+  /* PR binutils/3166
+     Group sections look like debugging sections but they are not.
+     (They have a non-zero size but they are not ALLOCated).  */
+  if ((bfd_get_section_flags (abfd, sec) & SEC_GROUP) != 0
+      && strip_symbols == STRIP_NONDEBUG)
+    return TRUE;
+
   return FALSE;
 }