diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-04-03 04:02:02 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2003-04-03 04:02:02 +0000 |
commit | b49060d9de93f55739a51a0f909914439a43bd6f (patch) | |
tree | d2c5f43700baf05d5bd4a6840ee6d12bec0c1539 | |
parent | 8dc79462d6d678450c6368ea829cf9ac466cf1c2 (diff) | |
download | binutils-redhat-b49060d9de93f55739a51a0f909914439a43bd6f.tar.gz |
* elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): Expand comment.
-rw-r--r-- | bfd/ChangeLog | 1 | ||||
-rw-r--r-- | bfd/elf32-ppc.c | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 122369d89c..45632e537f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -3,6 +3,7 @@ * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL here as it's too early to reliably determine locality. (ppc_elf_gc_sweep_hook): Likewise. + (SYMBOL_REFERENCES_LOCAL): Expand comment. 2003-04-02 Bob Wilson <bob.wilson@acm.org> diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 6fdfebe795..186f39d82b 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 \ |