* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
* elflink.c (_bfd_elf_symbol_refs_local_p): Expand local_protected comment.
This commit is contained in:
parent
ea1f7d4c8e
commit
2676a7d991
@ -1,3 +1,9 @@
|
||||
2011-05-26 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
|
||||
* elflink.c (_bfd_elf_symbol_refs_local_p): Expand
|
||||
local_protected comment.
|
||||
|
||||
2011-05-25 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* configure.in (bfd_elf32_ia64_big_vec, bfd_elf32_ia64_hpux_big_vec)
|
||||
|
@ -232,11 +232,7 @@ struct elf_link_hash_entry
|
||||
};
|
||||
|
||||
/* Will references to this symbol always reference the symbol
|
||||
in this object? STV_PROTECTED is excluded from the visibility test
|
||||
here so that function pointer comparisons work properly. Since
|
||||
function symbols not defined in an app are set to their .plt entry,
|
||||
it's necessary for shared libs to also reference the .plt even
|
||||
though the symbol is really local to the shared lib. */
|
||||
in this object? */
|
||||
#define SYMBOL_REFERENCES_LOCAL(INFO, H) \
|
||||
_bfd_elf_symbol_refs_local_p (H, INFO, 0)
|
||||
|
||||
|
@ -2881,8 +2881,10 @@ _bfd_elf_symbol_refs_local_p (struct elf_link_hash_entry *h,
|
||||
return TRUE;
|
||||
|
||||
/* Function pointer equality tests may require that STV_PROTECTED
|
||||
symbols be treated as dynamic symbols, even when we know that the
|
||||
dynamic linker will resolve them locally. */
|
||||
symbols be treated as dynamic symbols. If the address of a
|
||||
function not defined in an executable is set to that function's
|
||||
plt entry in the executable, then the address of the function in
|
||||
a shared library must also be the plt entry in the executable. */
|
||||
return local_protected;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user