mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-19 14:34:07 +08:00
* elf64-ppc.c (func_desc_adjust): Only provide missing function
descriptor symbols for undefined function code syms. Clear ELF_LINK_NON_ELF so that they can stay weak.
This commit is contained in:
parent
f744d540a5
commit
d926e03d6d
@ -1,3 +1,9 @@
|
||||
2002-01-30 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elf64-ppc.c (func_desc_adjust): Only provide missing function
|
||||
descriptor symbols for undefined function code syms. Clear
|
||||
ELF_LINK_NON_ELF so that they can stay weak.
|
||||
|
||||
2002-01-29 Chris Demetriou <cgd@broadcom.com>
|
||||
Mitch Lichtenberg <mpl@broadcom.com>
|
||||
|
||||
|
@ -2500,20 +2500,15 @@ func_desc_adjust (h, inf)
|
||||
fdh = elf_link_hash_lookup (&htab->elf, h->root.root.string + 1,
|
||||
false, false, true);
|
||||
|
||||
if (fdh == NULL && info->shared)
|
||||
if (fdh == NULL
|
||||
&& info->shared
|
||||
&& (h->root.type == bfd_link_hash_undefined
|
||||
|| h->root.type == bfd_link_hash_undefweak))
|
||||
{
|
||||
bfd *abfd;
|
||||
asymbol *newsym;
|
||||
|
||||
/* Create it as undefined. */
|
||||
if (h->root.type == bfd_link_hash_undefined
|
||||
|| h->root.type == bfd_link_hash_undefweak)
|
||||
abfd = h->root.u.undef.abfd;
|
||||
else if (h->root.type == bfd_link_hash_defined
|
||||
|| h->root.type == bfd_link_hash_defweak)
|
||||
abfd = h->root.u.def.section->owner;
|
||||
else
|
||||
abort ();
|
||||
abfd = h->root.u.undef.abfd;
|
||||
newsym = bfd_make_empty_symbol (abfd);
|
||||
newsym->name = h->root.root.string + 1;
|
||||
newsym->section = bfd_und_section_ptr;
|
||||
@ -2529,6 +2524,7 @@ func_desc_adjust (h, inf)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
fdh->elf_link_hash_flags &= ~ELF_LINK_NON_ELF;
|
||||
}
|
||||
|
||||
if (fdh != NULL
|
||||
|
Loading…
Reference in New Issue
Block a user