Browse Source

[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.
gdb_7_3-branch
Dave Korn 15 years ago
parent
commit
10be1b6abe
  1. 4
      ld/ChangeLog
  2. 9
      ld/plugin.c

4
ld/ChangeLog

@ -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> 2011-03-10 Dave Korn <dave.korn.cygwin@gmail.com>
* ldlang.c (lang_check): Don't run checks on dummy IR BFDs. * ldlang.c (lang_check): Don't run checks on dummy IR BFDs.

9
ld/plugin.c

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

Loading…
Cancel
Save