]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
lto: Set plugin_format to bfd_plugin_no only if known_used is set binutils-2_44-branch
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 28 Oct 2025 12:21:19 +0000 (20:21 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 31 Oct 2025 23:00:07 +0000 (07:00 +0800)
commit b21318bd2c29fcca8f99c1de7facdaa5cb2e66e2
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu May 11 14:31:09 2023 +0000

    Add LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook [GCC PR109128]

added the LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook for offload
support.  Since the V2 linker plugin hook doesn't claim the offload IR if
known_used is unset, set input plugin_format to bfd_plugin_no only if
known_used is set or the V2 linker plugin hook is unused.

PR ld/33584
* plugin.c (plugin_object_p): Set plugin_format to bfd_plugin_no
only if known_used is set or the V2 linker plugin hook is unused.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
(cherry picked from commit 19c4084cfaadabe7d514a98019d68fe0a8bb8940)

ld/plugin.c

index e0013fc44bc0c51ca4569cf4b15c66af7c5ed51a..d44a00463a0cc3e66320e90541cce7affc9089c5 100644 (file)
@@ -1325,8 +1325,13 @@ plugin_object_p (bfd *ibfd, bool known_used)
 #endif
 
       /* If plugin didn't claim the file, we don't need the dummy bfd.
-        Can't avoid speculatively creating it, alas.  */
-      ibfd->plugin_format = bfd_plugin_no;
+        Can't avoid speculatively creating it, alas.  NB: Set input
+        plugin_format to bfd_plugin_no only if known_used is set or
+        the LDPT_REGISTER_CLAIM_FILE_HOOK_V2 linker plugin hook is
+        unused since the V2 linker plugin hook doesn't claim the
+        offload IR if known_used is unset.  */
+      if (known_used || !claim_file_handler_v2)
+       ibfd->plugin_format = bfd_plugin_no;
       bfd_close_all_done (abfd);
       return NULL;
     }