lto: Set plugin_format to bfd_plugin_no only if known_used is set

commit b21318bd2c
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 19c4084cfa)
This commit is contained in:
H.J. Lu
2025-10-28 20:21:19 +08:00
parent 53645ef78e
commit ab776bc868

View File

@@ -1327,8 +1327,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;
}