Don't handle every plugin symbol as defined.

Gold was fetching --start-lib/--end-lib members if that member defined
or used a currently undefined symbol.
This commit is contained in:
Rafael Ávila de Espíndola
2016-03-03 14:42:21 -05:00
parent 82838bd626
commit a06ed37d75
2 changed files with 7 additions and 0 deletions

View File

@@ -1179,6 +1179,8 @@ Sized_pluginobj<size, big_endian>::do_should_include_member(
for (int i = 0; i < this->nsyms_; ++i)
{
const struct ld_plugin_symbol& sym = this->syms_[i];
if (sym.def == LDPK_UNDEF || sym.def == LDPK_WEAKUNDEF)
continue;
const char* name = sym.name;
Symbol* symbol;
Archive::Should_include t = Archive::should_include_member(symtab,