diff options
Diffstat (limited to 'bfd/plugin.c')
-rw-r--r-- | bfd/plugin.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/bfd/plugin.c b/bfd/plugin.c index ebdf250..733e7f0 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -138,6 +138,14 @@ struct plugin_list_entry const char *plugin_name; }; +struct plugin_data_struct +{ + int nsyms; + const struct ld_plugin_symbol *syms; + int object_only_nsyms; + asymbol **object_only_syms; +}; + static const char *plugin_program_name; void @@ -206,6 +214,9 @@ bfd_plugin_get_symbols_in_object_only (bfd *abfd) bfd_close (nbfd); return; } + + /* Copy LTO type derived from input sections. */ + abfd->lto_type = nbfd->lto_type; } else { @@ -333,9 +344,8 @@ add_symbols (void * handle, const struct ld_plugin_symbol * syms) { bfd *abfd = handle; - struct plugin_data_struct *plugin_data = - bfd_alloc (abfd, sizeof (plugin_data_struct)); - + struct plugin_data_struct *plugin_data = bfd_alloc (abfd, + sizeof (*plugin_data)); if (!plugin_data) return LDPS_ERR; |