* objcopy.c (setup_section): Set elf_group_id.

This commit is contained in:
Alan Modra 2008-09-28 13:29:18 +00:00
parent 1a6f01b5dc
commit 119f424500
2 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2008-09-28 Alan Modra <amodra@bigpond.net.au>
* objcopy.c (setup_section): Set elf_group_id.
2008-09-24 Richard Henderson <rth@redhat.com>
* dwarf.c (size_of_encoded_value, get_encoded_value): Move up.

View File

@ -2344,6 +2344,18 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
if (extract_symbol)
return;
if ((isection->flags & SEC_GROUP) != 0)
{
asymbol *gsym = group_signature (isection);
if (gsym != NULL)
{
gsym->flags |= BSF_KEEP;
if (ibfd->xvec->flavour == bfd_target_elf_flavour)
elf_group_id (isection) = gsym;
}
}
/* Allow the BFD backend to copy any private data it understands
from the input section to the output section. */
if (!bfd_copy_private_section_data (ibfd, isection, obfd, osection))
@ -2351,13 +2363,6 @@ setup_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
err = _("failed to copy private data");
goto loser;
}
else if ((isection->flags & SEC_GROUP) != 0)
{
asymbol *gsym = group_signature (isection);
if (gsym != NULL)
gsym->flags |= BSF_KEEP;
}
/* All went well. */
return;