arch/sparc/Kconfig | 1 + 1 file changed, 1 insertion(+)
An LLVM=1 sparc64 allmodconfig enables COMPAT and then tries to
build the 32-bit vDSO. That path cannot be linked with ld.lld:
ld.lld: error: unknown emulation: elf32_sparc
ld.lld does not support the 32-bit SPARC ELF emulation used for
the compat vDSO, so keep COMPAT disabled when LLD is the linker.
This avoids selecting an unsupported build path while leaving the
existing GNU ld configuration unchanged.
Assisted-by: Codex:GPT-5.5
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
arch/sparc/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index a6b787efc2c4..681ab2fd3d8a 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -474,6 +474,7 @@ endmenu
config COMPAT
bool
depends on SPARC64
+ depends on !LD_IS_LLD
default y
select HAVE_UID16
select ARCH_WANT_OLD_COMPAT_IPC
--
2.54.0
On Thu, May 07, 2026 at 05:08:34PM -0700, Rosen Penev wrote: > An LLVM=1 sparc64 allmodconfig enables COMPAT and then tries to > build the 32-bit vDSO. That path cannot be linked with ld.lld: > > ld.lld: error: unknown emulation: elf32_sparc > > ld.lld does not support the 32-bit SPARC ELF emulation used for > the compat vDSO, so keep COMPAT disabled when LLD is the linker. > This avoids selecting an unsupported build path while leaving the > existing GNU ld configuration unchanged. > > Assisted-by: Codex:GPT-5.5 > Signed-off-by: Rosen Penev <rosenp@gmail.com> It does not sound like sparc32 will be supported in ld.lld without someone contributing the work: https://github.com/llvm/llvm-project/issues/100320#issuecomment-2254229711 So this seems reasonable, even if we don't support ld.lld for sparc64 in the kernel right now. Acked-by: Nathan Chancellor <nathan@kernel.org> > --- > arch/sparc/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig > index a6b787efc2c4..681ab2fd3d8a 100644 > --- a/arch/sparc/Kconfig > +++ b/arch/sparc/Kconfig > @@ -474,6 +474,7 @@ endmenu > config COMPAT > bool > depends on SPARC64 > + depends on !LD_IS_LLD > default y > select HAVE_UID16 > select ARCH_WANT_OLD_COMPAT_IPC > -- > 2.54.0 > -- Cheers, Nathan
© 2016 - 2026 Red Hat, Inc.