diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-09-08 17:27:00 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-09-09 19:16:17 -0700 |
commit | c839a44c39161c9932d58c28c2949ab3bb94ea6f (patch) | |
tree | 9a04ea05c20fbf744f9257cdb5612b96a1bff4f1 | |
parent | f66673c62e3ffc44d4b82fb95fa4ff33c2b7fb38 (diff) | |
download | binutils-c839a44c39161c9932d58c28c2949ab3bb94ea6f.zip binutils-c839a44c39161c9932d58c28c2949ab3bb94ea6f.tar.gz binutils-c839a44c39161c9932d58c28c2949ab3bb94ea6f.tar.bz2 |
bfd: Pass true to ld_plugin_object_p
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>
-rw-r--r-- | bfd/plugin.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/plugin.c b/bfd/plugin.c index f6c6fdb..de2137f 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -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; |