[PATCH] Respect symbol wrappers when computing symbol resolutions.

ld/ChangeLog:

2011-03-10  Dave Korn  <dave.korn.cygwin@gmail.com>

	* plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
This commit is contained in:
Dave Korn 2011-03-10 10:27:50 +00:00
parent 422b6f1440
commit 10be1b6abe
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
* plugin.c (get_symbols): Use wrapped lookup for undefined symbols.
2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
* ldlang.c (lang_check): Don't run checks on dummy IR BFDs.

View File

@ -456,9 +456,12 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms)
struct bfd_link_hash_entry *blhe;
bfd_boolean ironly;
asection *owner_sec;
blhe = bfd_link_hash_lookup (link_info.hash, syms[n].name,
FALSE, FALSE, TRUE);
if (syms[n].def != LDPK_UNDEF)
blhe = bfd_link_hash_lookup (link_info.hash, syms[n].name,
FALSE, FALSE, TRUE);
else
blhe = bfd_wrapped_link_hash_lookup (link_info.output_bfd, &link_info,
syms[n].name, FALSE, FALSE, TRUE);
if (!blhe)
{
syms[n].resolution = LDPR_UNKNOWN;