aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-ppc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2003-04-03 04:02:02 +0000
committerAlan Modra <amodra@gmail.com>2003-04-03 04:02:02 +0000
commitc8b21ee577961f486ba92dd9cedfe51d1cab2af8 (patch)
tree10a13b6b5dd6269cd8896ed12e6d51036885e7be /bfd/elf32-ppc.c
parent2b98e6c0320bf85b83cf0e3e0aafae272b066075 (diff)
downloadgdb-c8b21ee577961f486ba92dd9cedfe51d1cab2af8.zip
gdb-c8b21ee577961f486ba92dd9cedfe51d1cab2af8.tar.gz
gdb-c8b21ee577961f486ba92dd9cedfe51d1cab2af8.tar.bz2
* elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): Expand comment.
Diffstat (limited to 'bfd/elf32-ppc.c')
-rw-r--r--bfd/elf32-ppc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 6fdfebe..186f39d 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -147,8 +147,12 @@ static bfd_boolean ppc_elf_grok_psinfo
#define DTP_OFFSET 0x8000
/* Will references to this symbol always reference the symbol
- in this object? */
-#define SYMBOL_REFERENCES_LOCAL(INFO, H) \
+ 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. */
+#define SYMBOL_REFERENCES_LOCAL(INFO, H) \
((! INFO->shared \
|| INFO->symbolic \
|| H->dynindx == -1 \