summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/plugin.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e0a3e6106a..7ac8782598 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-20 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * plugin.c (get_symbols): Check symbol type correctly.
+
2010-10-15 Dave Korn <dave.korn.cygwin@gmail.com>
* configure.in: If <dlfcn.h> can't be found, try for <Windows.h>
diff --git a/ld/plugin.c b/ld/plugin.c
index c1961c54f4..efc520f707 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -417,7 +417,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
if (syms[n].def == LDPK_UNDEF || syms[n].def == LDPK_WEAKUNDEF
|| syms[n].def == LDPK_COMMON)
{
- asection *owner_sec = (syms[n].def == LDPK_COMMON)
+ asection *owner_sec = (blhe->type == bfd_link_hash_common)
? blhe->u.c.p->section
: blhe->u.def.section;
if (owner_sec->owner == link_info.output_bfd)