Re: [PATCH] kbuild: AutoFDO: Update split machine function argument for upstream rename
From: Rong Xu
Date: Thu Oct 22 2026 - 19:02:04 EST
This looks good to me. Thanks for fixing this.
Reviewed-by: Rong Xu <xur@xxxxxxxxxx>
-Rong
On Wed, Oct 14, 2026 at 4:40 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> A recent LLVM commit [1] renamed the internal LLVM plugin option
> '-split-machine-functions' to '-function-splitting=all', breaking the
> AutoFDO + ThinLTO build with:
>
> ld.lld: error: -plugin-opt=-: ld.lld: Unknown command line argument '-split-machine-functions'. Try: 'ld.lld --help'
>
> The plugin option is needed for in-process ThinLTO, so handle the rename
> accordingly using ld-option.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Closes: https://github.com/ClangBuiltLinux/linux/issues/2186
> Fixes: 2fd65f7afd5a ("AutoFDO: Enable machine function split optimization for AutoFDO")
> Link: https://github.com/llvm/llvm-project/commit/3e6acc87c58843e551d6e8e4bf06c26712b04622 [1]
> Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>
> ---
> scripts/Makefile.autofdo | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.autofdo b/scripts/Makefile.autofdo
> index 1442043da139..57a3aba6ffc2 100644
> --- a/scripts/Makefile.autofdo
> +++ b/scripts/Makefile.autofdo
> @@ -22,7 +22,7 @@ ifdef CONFIG_LTO_CLANG_THIN
> KBUILD_LDFLAGS += --lto-sample-profile=$(CLANG_AUTOFDO_PROFILE)
> endif
> KBUILD_LDFLAGS += --mllvm=-enable-fs-discriminator=true --mllvm=-improved-fs-discriminator=true -plugin-opt=thinlto
> - KBUILD_LDFLAGS += -plugin-opt=-split-machine-functions
> + KBUILD_LDFLAGS += $(call ld-option,-plugin-opt=-function-splitting=all,-plugin-opt=-split-machine-functions)
> endif
>
> export CFLAGS_AUTOFDO_CLANG RUSTFLAGS_AUTOFDO_CLANG
>
> ---
> base-commit: 24a19b953e2a3d0ea5a8c4951a0ab8f32720c907
> change-id: 20261014-update-autofdo-split-machine-function-option-d4edb03d370c
>
> Best regards,
> --
> Cheers,
> Nathan
>