Re: [PATCH 2/2] Propeller: Remove the architecture specific config

From: Nathan Chancellor
Date: Wed Dec 11 2024 - 18:06:05 EST


Hi Rong,

On Wed, Dec 11, 2024 at 02:29:43PM -0800, Rong Xu wrote:
> The CONFIG_PROPELLER_CLANG option currently depends on
> ARCH_SUPPORTS_PROPELLER_CLANG, but this dependency seems unnecessary.
>
> Remove ARCH_SUPPORTS_PROPELLER_CLANG and allow users to control
> Propeller builds solely through CONFIG_PROPELLER_CLANG. This simplifies
> the kconfig and avoids potential confusion.
>
> Signed-off-by: Rong Xu <xur@xxxxxxxxxx>
> Suggested-by: Will Deacon <will@xxxxxxxxxx>

In commit d5dc95836147 ("kbuild: Add Propeller configuration for kernel
build"), you added .llvm_bb_addr_map to arch/x86/kernel/vmlinux.lds.S.
Was this to address a orphan section warning from the linker? Is that
same change needed in the linker scripts of the other architectures that
clang supports building in the kernel?

Cheers,
Nathan

> ---
> arch/Kconfig | 4 ----
> arch/x86/Kconfig | 1 -
> 2 files changed, 5 deletions(-)
>
> diff --git a/arch/Kconfig b/arch/Kconfig
> index 0b36d74d47031..83731b858ba65 100644
> --- a/arch/Kconfig
> +++ b/arch/Kconfig
> @@ -828,12 +828,8 @@ config AUTOFDO_CLANG
>
> If unsure, say N.
>
> -config ARCH_SUPPORTS_PROPELLER_CLANG
> - bool
> -
> config PROPELLER_CLANG
> bool "Enable Clang's Propeller build"
> - depends on ARCH_SUPPORTS_PROPELLER_CLANG
> depends on CC_IS_CLANG && CLANG_VERSION >= 190000
> help
> This option enables Clang’s Propeller build. When the Propeller
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 9363d9cc9a00a..6c633d93c6390 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -128,7 +128,6 @@ config X86
> select ARCH_SUPPORTS_LTO_CLANG
> select ARCH_SUPPORTS_LTO_CLANG_THIN
> select ARCH_SUPPORTS_RT
> - select ARCH_SUPPORTS_PROPELLER_CLANG if X86_64
> select ARCH_USE_BUILTIN_BSWAP
> select ARCH_USE_CMPXCHG_LOCKREF if X86_CMPXCHG64
> select ARCH_USE_MEMTEST
> --
> 2.47.0.338.g60cca15819-goog
>