* objcopy.c (setup_section): Set elf_group_id.
This commit is contained in:
parent
1a6f01b5dc
commit
119f424500
2 changed files with 16 additions and 7 deletions
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue