diff options
author | Alan Modra <amodra@gmail.com> | 2011-05-26 04:28:20 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2011-05-26 04:28:20 +0000 |
commit | 2676a7d99177c857a9cf46543f961816e2650365 (patch) | |
tree | cedaddf73fffa34649c3629ec489ab5ffaf9b9b7 | |
parent | ea1f7d4c8e76be752583e1829e94dc487d5f77f7 (diff) | |
download | gdb-2676a7d99177c857a9cf46543f961816e2650365.zip gdb-2676a7d99177c857a9cf46543f961816e2650365.tar.gz gdb-2676a7d99177c857a9cf46543f961816e2650365.tar.bz2 |
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Remove most of comment.
* elflink.c (_bfd_elf_symbol_refs_local_p): Expand
local_protected comment.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf-bfd.h | 6 | ||||
-rw-r--r-- | bfd/elflink.c | 6 |
3 files changed, 11 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1b04999..82ac7f6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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) diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index b34845b..59b6e72 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -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) diff --git a/bfd/elflink.c b/bfd/elflink.c index 4675aab..e8a6840 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -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; } |