From: Alan Modra Date: Tue, 29 Jan 2002 14:04:04 +0000 (+0000) Subject: * elf64-ppc.c (func_desc_adjust): Don't supply missing function X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef9d813eafbff4630efb4ba6580ff7065579c0f2;p=binutils-gdb.git * elf64-ppc.c (func_desc_adjust): Don't supply missing function descriptor symbols. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 832bce529e1..1bff8e92309 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-01-29 Alan Modra + + * elf64-ppc.c (func_desc_adjust): Don't supply missing function + descriptor symbols. + 2002-01-29 Martin Schwidefsky * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32 diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index da339bb512d..855722e18ae 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -2494,43 +2494,11 @@ func_desc_adjust (h, inf) struct elf_link_hash_entry *fdh; boolean force_local; - /* Find the corresponding function descriptor symbol. Create it - as undefined if necessary. */ + /* Find the corresponding function descriptor symbol. */ 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