aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2006-09-05 08:22:27 +0000
committerNick Clifton <nickc@redhat.com>2006-09-05 08:22:27 +0000
commit91bb255c67ce378e25576a12e6b24929c45c92fc (patch)
tree9e6bf98bdd502886db12dbfb86ad1f2db13d24a2
parenta0d64f3a09dd00e54a3d0310d36e5e24084cefbd (diff)
downloadgdb-91bb255c67ce378e25576a12e6b24929c45c92fc.zip
gdb-91bb255c67ce378e25576a12e6b24929c45c92fc.tar.gz
gdb-91bb255c67ce378e25576a12e6b24929c45c92fc.tar.bz2
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.
-rw-r--r--binutils/ChangeLog8
-rw-r--r--binutils/doc/binutils.texi14
-rw-r--r--binutils/objcopy.c7
3 files changed, 29 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 184f0b1..b36b875 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index d74be80..e6d9ecd 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -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}.
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 0d56845..8db5ef0 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -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;
}