Re: [PATCH] sparc: Disable compat support with LLD

From: Nathan Chancellor

Date: Thu May 14 2026 - 09:01:18 EST


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@xxxxxxxxx>

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@xxxxxxxxxx>

> ---
> 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