From fb72e8483e55333dd66f39c7ab5df250418133bc Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 30 Jul 2026 15:47:05 +0800 Subject: [PATCH] x86-64: Return SHN_COMMON on non-ELF input elf_x86_64_common_definition segfaults on PE/x86-64 input. Return SHN_COMMON on non-ELF input. Linker now gets assertion fail at bfd/coffgen.c:575, instead of getting segfault. PR ld/34449 * elf64-x86-64.c (elf_x86_64_common_definition): Return SHN_COMMON on non-ELF input. Signed-off-by: H.J. Lu --- bfd/elf64-x86-64.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index f412b076933..e7efc6210d2 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -6105,7 +6105,8 @@ elf_x86_64_common_definition (Elf_Internal_Sym *sym) static unsigned int elf_x86_64_common_section_index (asection *sec) { - if ((elf_section_flags (sec) & SHF_X86_64_LARGE) == 0) + if (bfd_get_flavour (sec->owner) != bfd_target_elf_flavour + || (elf_section_flags (sec) & SHF_X86_64_LARGE) == 0) return SHN_COMMON; else return SHN_X86_64_LCOMMON; -- 2.55.0