aboutsummaryrefslogtreecommitdiff
path: root/gold/plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/plugin.cc')
-rw-r--r--gold/plugin.cc26
1 files changed, 16 insertions, 10 deletions
diff --git a/gold/plugin.cc b/gold/plugin.cc
index 76b2431..1c86c03 100644
--- a/gold/plugin.cc
+++ b/gold/plugin.cc
@@ -705,26 +705,32 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
template<int size, bool big_endian>
Archive::Should_include
Sized_pluginobj<size, big_endian>::do_should_include_member(
- Symbol_table* symtab, Read_symbols_data*, std::string* why)
+ Symbol_table* symtab,
+ Layout* layout,
+ Read_symbols_data*,
+ std::string* why)
{
char* tmpbuf = NULL;
size_t tmpbuflen = 0;
- for (int i = 0; i < this->nsyms_; ++i) {
- const struct ld_plugin_symbol& sym = this->syms_[i];
- const char* name = sym.name;
- Symbol* symbol;
- Archive::Should_include t = Archive::should_include_member(symtab, name,
- &symbol, why,
- &tmpbuf,
- &tmpbuflen);
+ for (int i = 0; i < this->nsyms_; ++i)
+ {
+ const struct ld_plugin_symbol& sym = this->syms_[i];
+ const char* name = sym.name;
+ Symbol* symbol;
+ Archive::Should_include t = Archive::should_include_member(symtab,
+ layout,
+ name,
+ &symbol, why,
+ &tmpbuf,
+ &tmpbuflen);
if (t == Archive::SHOULD_INCLUDE_YES)
{
if (tmpbuf != NULL)
free(tmpbuf);
return t;
}
- }
+ }
if (tmpbuf != NULL)
free(tmpbuf);
return Archive::SHOULD_INCLUDE_UNKNOWN;