2005-04-17 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 18 Apr 2005 03:13:49 +0000 (03:13 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 18 Apr 2005 03:13:49 +0000 (03:13 +0000)
PR 855
* elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
created group data.

bfd/ChangeLog
bfd/elf.c

index a44e8f2..9b20c92 100644 (file)
@@ -1,6 +1,12 @@
 2005-04-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR 855
+       * elf.c (_bfd_elf_copy_private_section_data): Don't copy linker
+       created group data.
+
+2005-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 855
        * elf.c (setup_group): Properly handle zero group count.
 
 2005-04-17  Mark Kettenis  <kettenis@gnu.org>
index 5f68112..1434678 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -5519,9 +5519,14 @@ _bfd_elf_copy_private_section_data (bfd *ibfd,
 
   /* Set things up for objcopy.  The output SHT_GROUP section will
      have its elf_next_in_group pointing back to the input group
-     members.  */
-  elf_next_in_group (osec) = elf_next_in_group (isec);
-  elf_group_name (osec) = elf_group_name (isec);
+     members.  Ignore linker created group section.  See
+     elfNN_ia64_object_p in elfxx-ia64.c.  */
+  if (elf_sec_group (isec) == NULL
+      || (elf_sec_group (isec)->flags & SEC_LINKER_CREATED) == 0)
+    {
+      elf_next_in_group (osec) = elf_next_in_group (isec);
+      elf_group_name (osec) = elf_group_name (isec);
+    }
 
   osec->use_rela_p = isec->use_rela_p;