]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
bfd: Pass true to ld_plugin_object_p
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 9 Sep 2024 00:27:00 +0000 (17:27 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 10 Sep 2024 02:16:17 +0000 (19:16 -0700)
Since linker calls bfd_plugin_object_p, which calls ld_plugin_object_p,
only for command-line input objects, pass true to ld_plugin_object_p so
that the same input IR file won't be included twice if the new LTO hook,
LDPT_REGISTER_CLAIM_FILE_HOOK_V2 isn't used.

PR ld/32153
* plugin.c (bfd_plugin_object_p): Pass true to ld_plugin_object_p.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
bfd/plugin.c

index f6c6fdbee69a9b33ee85f0b3077a8b4cc2386d5b..de2137fddc49babd822ee352ee41db16ea13f417 100644 (file)
@@ -596,8 +596,12 @@ load_plugin (bfd *abfd)
 static bfd_cleanup
 bfd_plugin_object_p (bfd *abfd)
 {
+  /* Since ld_plugin_object_p is called only for linker command-line input
+     objects, pass true to ld_plugin_object_p so that the same input IR
+     file won't be included twice if the LDPT_REGISTER_CLAIM_FILE_HOOK_V2
+     isn't used.  */
   if (ld_plugin_object_p)
-    return ld_plugin_object_p (abfd, false);
+    return ld_plugin_object_p (abfd, true);
 
   if (abfd->plugin_format == bfd_plugin_unknown && !load_plugin (abfd))
     return NULL;