[PATCH] ld: Override the IR definition for non-ELF targets
H.J. Lu
hjl.tools@gmail.com
Wed Sep 30 12:22:00 GMT 2020
For non-ELF targets, override the IR definition before all LTO symbols
have been read.
PR ld/26675
* plugin.c (plugin_notice): Override the IR definition before
all LTO symbols have been read for non-ELF targets.
---
ld/plugin.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/ld/plugin.c b/ld/plugin.c
index 5640b8975b..067551c476 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -1436,8 +1436,10 @@ plugin_notice (struct bfd_link_info *info,
this by making the symbol appear to be undefined.
NB: We change the previous definition in the IR object to
- undefweak only after all LTO symbols have been read. */
- else if (info->lto_all_symbols_read
+ undefweak only after all LTO symbols have been read or for
+ non-ELF targets. */
+ else if ((info->lto_all_symbols_read
+ || bfd_get_flavour (abfd) != bfd_target_elf_flavour)
&& (((h->type == bfd_link_hash_defweak
|| h->type == bfd_link_hash_defined)
&& is_ir_dummy_bfd (sym_bfd = h->u.def.section->owner))
--
2.26.2
More information about the Binutils
mailing list