Arrgh! Revert last change.

This commit is contained in:
Alan Modra 2002-01-29 14:52:12 +00:00
parent ef9d813eaf
commit 648cca2cac
2 changed files with 33 additions and 6 deletions

View File

@ -1,8 +1,3 @@
2002-01-29 Alan Modra <amodra@bigpond.net.au>
* elf64-ppc.c (func_desc_adjust): Don't supply missing function
descriptor symbols.
2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32

View File

@ -2494,11 +2494,43 @@ func_desc_adjust (h, inf)
struct elf_link_hash_entry *fdh;
boolean force_local;
/* Find the corresponding function descriptor symbol. */
/* Find the corresponding function descriptor symbol. Create it
as undefined if necessary. */
fdh = elf_link_hash_lookup (&htab->elf, h->root.root.string + 1,
false, false, true);
if (fdh == NULL && info->shared)
{
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 ();
newsym = bfd_make_empty_symbol (abfd);
newsym->name = h->root.root.string + 1;
newsym->section = bfd_und_section_ptr;
newsym->value = 0;
newsym->flags = BSF_OBJECT;
if (h->root.type == bfd_link_hash_undefweak)
newsym->flags |= BSF_WEAK;
if ( !(_bfd_generic_link_add_one_symbol
(info, abfd, newsym->name, newsym->flags,
newsym->section, newsym->value, NULL, false, false,
(struct bfd_link_hash_entry **) &fdh)))
{
return false;
}
}
if (fdh != NULL
&& (fdh->elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) == 0
&& (info->shared