From 2000-10-14 Geoffrey Keating <geoffk@cygnus.com>

* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
	entries that could serve as a definition for a weak symbol.
This commit is contained in:
Geoffrey Keating
2000-10-16 18:08:29 +00:00
parent 8f33925de3
commit fde13960b9
2 changed files with 13 additions and 0 deletions

View File

@@ -1,3 +1,9 @@
2000-10-16 Geoffrey Keating <geoffk@cygnus.com>
From 2000-10-14 Geoffrey Keating <geoffk@cygnus.com>
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
entries that could serve as a definition for a weak symbol.
2000-10-15 Philip Blundell <philb@gnu.org> 2000-10-15 Philip Blundell <philb@gnu.org>
From 2000-09-08 Nick Clifton <nickc@redhat.com> From 2000-09-08 Nick Clifton <nickc@redhat.com>

View File

@@ -2687,6 +2687,13 @@ ppc_elf_finish_dynamic_symbol (output_bfd, info, h, sym)
/* Mark the symbol as undefined, rather than as defined in /* Mark the symbol as undefined, rather than as defined in
the .plt section. Leave the value alone. */ the .plt section. Leave the value alone. */
sym->st_shndx = SHN_UNDEF; sym->st_shndx = SHN_UNDEF;
/* If the symbol is weak, we do need to clear the value.
Otherwise, the PLT entry would provide a definition for
the symbol even if the symbol wasn't defined anywhere,
and so the symbol would never be NULL. */
if ((h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR_NONWEAK)
== 0)
sym->st_value = 0;
} }
} }