diff options
-rw-r--r-- | ld/ChangeLog | 4 | ||||
-rw-r--r-- | ld/plugin.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index e0a3e6106a3..7ac8782598e 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 c1961c54f4f..efc520f7077 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) |