aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/objcopy.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 7f8ab70..72b9f1b 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,4 +1,8 @@
-2002-06-3 Elias Athanasopoulos <eathan@otenet.gr>
+2002-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * objcopy.c (copy_section): Don't copy SEC_GROUP sections.
+
+2002-06-03 Elias Athanasopoulos <eathan@otenet.gr>
* objdump.c: Fix formatting.
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index da197f3..241a2c6 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1684,13 +1684,15 @@ copy_section (ibfd, isection, obfdarg)
sec_ptr osection;
bfd_size_type size;
long relsize;
+ flagword flags;
/* If we have already failed earlier on,
do not keep on generating complaints now. */
if (status != 0)
return;
- if ((bfd_get_section_flags (ibfd, isection) & SEC_DEBUGGING) != 0
+ flags = bfd_get_section_flags (ibfd, isection);
+ if ((flags & SEC_DEBUGGING) != 0
&& (strip_symbols == STRIP_DEBUG
|| strip_symbols == STRIP_UNNEEDED
|| strip_symbols == STRIP_ALL
@@ -1698,6 +1700,9 @@ copy_section (ibfd, isection, obfdarg)
|| convert_debugging))
return;
+ if ((flags & SEC_GROUP) != 0)
+ return;
+
p = find_section_list (bfd_section_name (ibfd, isection), false);
if (sections_removed && p != NULL && p->remove)