summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2005-04-18 03:13:49 +0000
committerH.J. Lu <hjl@lucon.org>2005-04-18 03:13:49 +0000
commit680d84e5845d4d55836e7c5aecb18a22a6a0ffe4 (patch)
tree94f12d44f136253b87b2e8dff9308ef637a68d67
parentdb81a828214e712855a73ebbcd9ddb7ee49ac649 (diff)
downloadgdb-680d84e5845d4d55836e7c5aecb18a22a6a0ffe4.tar.gz
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf.c11
2 files changed, 14 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a44e8f24c1d..9b20c92fa17 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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>
diff --git a/bfd/elf.c b/bfd/elf.c
index 5f681129e55..1434678ce7c 100644
--- 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;