aboutsummaryrefslogtreecommitdiff
path: root/bfd/plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/plugin.c')
-rw-r--r--bfd/plugin.c16
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;