lkml.org 
[lkml]   [2021]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] x86/Makefile: make -stack-alignment conditional on LLD < 13.0.0
From
Date
Hi Tor,

On 6/10/2021 2:28 AM, torvic9@mailbox.org wrote:
> Since LLVM commit 3787ee4, the '-stack-alignment' flag has been dropped [1],
> leading to the following error message when building a LTO kernel with
> Clang-13 and LLD-13:
>
> ld.lld: error: -plugin-opt=-: ld.lld: Unknown command line argument
> '-stack-alignment=8'. Try 'ld.lld --help'
> ld.lld: Did you mean '--stackrealign=8'?
>
> It also appears that the '-code-model' flag is not necessary anymore starting
> with LLVM-9 [2].
>
> Drop '-code-model' and make '-stack-alignment' conditional on LLD < 13.0.0.
>
> This is for linux-stable 5.12.
> Another patch will be submitted for 5.13 shortly (unless there are objections).

This patch needs to be accepted into mainline first before it can go to
stable so this line needs to be removed. The rest of the description
looks good to me, good job on being descriptive!

> Discussion: https://github.com/ClangBuiltLinux/linux/issues/1377
> [1]: https://reviews.llvm.org/D103048
> [2]: https://reviews.llvm.org/D52322

As Greg's auto-response points out, there needs to be an actual

Cc: stable@vger.kernel.org

here in the patch, rather than just cc'ing stable@vger.kernel.org
through email.

> Signed-off-by: Tor Vic <torvic9@mailbox.org>

The actual patch itself looks good and I have verified that it fixes the
build error. On the resend with the above fixed, please feel free to add:

Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>

> ---
> arch/x86/Makefile | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 1f2e5bf..2855a1a 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -192,8 +192,9 @@ endif
> KBUILD_LDFLAGS += -m elf_$(UTS_MACHINE)
>
> ifdef CONFIG_LTO_CLANG
> -KBUILD_LDFLAGS += -plugin-opt=-code-model=kernel \
> - -plugin-opt=-stack-alignment=$(if $(CONFIG_X86_32),4,8)
> +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 130000; echo $$?),0)
> +KBUILD_LDFLAGS += -plugin-opt=-stack-alignment=$(if $(CONFIG_X86_32),4,8)
> +endif
> endif
>
> ifdef CONFIG_X86_NEED_RELOCS
>

Cheers,
Nathan

\
 
 \ /
  Last update: 2021-06-10 18:43    [W:0.080 / U:0.908 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site