+2015-12-10 Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ PR ld/18199
+ * plugin.c (plugin_get_ir_dummy_bfd): Use srctemplate as the
+ template when calling bfd_create if it does not use the BFD
+ plugin target vector.
+
2015-12-02 Alan Modra <amodra@gmail.com>
* configure.ac (--enable-initfini-array): Remove run test. Default
plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
{
bfd *abfd;
+ bfd_boolean bfd_plugin_target;
bfd_use_reserved_id = 1;
+ bfd_plugin_target = bfd_plugin_target_p (srctemplate->xvec);
abfd = bfd_create (concat (name, IRONLY_SUFFIX, (const char *) NULL),
- link_info.output_bfd);
+ bfd_plugin_target ? link_info.output_bfd : srctemplate);
if (abfd != NULL)
{
abfd->flags |= BFD_LINKER_CREATED | BFD_PLUGIN;
if (!bfd_make_writable (abfd))
goto report_error;
- if (! bfd_plugin_target_p (srctemplate->xvec))
+ if (!bfd_plugin_target)
{
bfd_set_arch_info (abfd, bfd_get_arch_info (srctemplate));
bfd_set_gp_size (abfd, bfd_get_gp_size (srctemplate));