* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
SYMBOL_CALLS_LOCAL and check for undefweak symbols with non-default visibility.
This commit is contained in:
parent
66aa377dce
commit
9dfe873851
2 changed files with 13 additions and 14 deletions
|
@ -1,3 +1,9 @@
|
|||
2004-11-07 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Use
|
||||
SYMBOL_CALLS_LOCAL and check for undefweak symbols with
|
||||
non-default visibility.
|
||||
|
||||
2004-11-01 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* elf32-arm.c (elf32_arm_symbian_begin_write_processing): Clear
|
||||
|
|
|
@ -936,9 +936,10 @@ elf_m68k_adjust_dynamic_symbol (info, h)
|
|||
if (h->type == STT_FUNC
|
||||
|| h->needs_plt)
|
||||
{
|
||||
if (! info->shared
|
||||
&& !h->def_dynamic
|
||||
&& !h->ref_dynamic
|
||||
if ((h->plt.refcount <= 0
|
||||
|| SYMBOL_CALLS_LOCAL (info, h)
|
||||
|| (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT
|
||||
&& h->root.type == bfd_link_hash_undefweak))
|
||||
/* We must always create the plt entry if it was referenced
|
||||
by a PLTxxO relocation. In this case we already recorded
|
||||
it as a dynamic symbol. */
|
||||
|
@ -946,19 +947,11 @@ elf_m68k_adjust_dynamic_symbol (info, h)
|
|||
{
|
||||
/* This case can occur if we saw a PLTxx reloc in an input
|
||||
file, but the symbol was never referred to by a dynamic
|
||||
object. In such a case, we don't actually need to build
|
||||
a procedure linkage table, and we can just do a PCxx
|
||||
reloc instead. */
|
||||
BFD_ASSERT (h->needs_plt);
|
||||
object, or if all references were garbage collected. In
|
||||
such a case, we don't actually need to build a procedure
|
||||
linkage table, and we can just do a PCxx reloc instead. */
|
||||
h->plt.offset = (bfd_vma) -1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* GC may have rendered this entry unused. */
|
||||
if (h->plt.refcount <= 0)
|
||||
{
|
||||
h->needs_plt = 0;
|
||||
h->plt.offset = (bfd_vma) -1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue