aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 956e3c7..ec54e21 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2011-10-19 Alan Modra <amodra@gmail.com>
+ PR ld/13311
+ * elflink.c (elf_link_output_extsym): Correct test for warning when
+ forced local executable syms are referenced from shared libraries.
+
+2011-10-19 Alan Modra <amodra@gmail.com>
+
PR ld/13254
* elflink.c (bfd_elf_final_link): Emit error_textrel error.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index bd1f2f2..9956e81 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -8659,10 +8659,11 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
/* We should also warn if a forced local symbol is referenced from
shared libraries. */
- if (! finfo->info->relocatable
- && (! finfo->info->shared)
+ if (!finfo->info->relocatable
+ && finfo->info->executable
&& h->forced_local
&& h->ref_dynamic
+ && h->def_regular
&& !h->dynamic_def
&& !h->dynamic_weak
&& ! elf_link_check_versioned_symbol (finfo->info, bed, h))