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

Nathan Chancellor <[email protected]> Thu, 14 May 2026 22:00:26 +0900
Newsgroups org.kernel.vger.sparclinux,dev.linux.lists.llvm,org.kernel.vger.linux-kernel
Message-ID <20260514130026.GC1781775@ax162>
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 <[email protected]>

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 <[email protected]>

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