[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c09fa979-e853-44b7-9287-0c4b71cb1073@ghiti.fr>
Date: Fri, 22 Aug 2025 14:35:14 +0200
From: Alexandre Ghiti <alex@...ti.fr>
To: Nathan Chancellor <nathan@...nel.org>, linux-kernel@...r.kernel.org
Cc: Arnd Bergmann <arnd@...db.de>, Kees Cook <kees@...nel.org>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>,
llvm@...ts.linux.dev, patches@...ts.linux.dev,
Palmer Dabbelt <palmer@...belt.com>, linux-riscv@...ts.infradead.org
Subject: Re: [PATCH v2 08/12] riscv: Unconditionally use linker relaxation
On 8/21/25 23:15, Nathan Chancellor wrote:
> Now that the minimum supported version of LLVM for building the kernel
> has been bumped to 15.0.0, CONFIG_RISCV_USE_LINKER_RELAXATION will
> always be enabled, so it can be removed.
>
> Signed-off-by: Nathan Chancellor <nathan@...nel.org>
> ---
> Cc: Palmer Dabbelt <palmer@...belt.com>
> Cc: Alexandre Ghiti <alex@...ti.fr>
> Cc: linux-riscv@...ts.infradead.org
> ---
> arch/riscv/Kconfig | 6 ------
> arch/riscv/Makefile | 9 +--------
> 2 files changed, 1 insertion(+), 14 deletions(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 1d53bf02d0fa..d482236e93f4 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -246,15 +246,9 @@ config HAVE_SHADOW_CALL_STACK
> # https://github.com/riscv-non-isa/riscv-elf-psabi-doc/commit/a484e843e6eeb51f0cb7b8819e50da6d2444d769
> depends on $(ld-option,--no-relax-gp)
>
> -config RISCV_USE_LINKER_RELAXATION
> - def_bool y
> - # https://github.com/llvm/llvm-project/commit/6611d58f5bbcbec77262d392e2923e1d680f6985
> - depends on !LD_IS_LLD || LLD_VERSION >= 150000
> -
> # https://github.com/llvm/llvm-project/commit/bbc0f99f3bc96f1db16f649fc21dd18e5b0918f6
> config ARCH_HAS_BROKEN_DWARF5
> def_bool y
> - depends on RISCV_USE_LINKER_RELAXATION
> # https://github.com/llvm/llvm-project/commit/1df5ea29b43690b6622db2cad7b745607ca4de6a
> depends on AS_IS_LLVM && AS_VERSION < 180000
> # https://github.com/llvm/llvm-project/commit/7ffabb61a5569444b5ac9322e22e5471cc5e4a77
> diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
> index df57654a615e..ecf2fcce2d92 100644
> --- a/arch/riscv/Makefile
> +++ b/arch/riscv/Makefile
> @@ -46,17 +46,10 @@ else
> KBUILD_LDFLAGS += -melf32lriscv
> endif
>
> -ifndef CONFIG_RISCV_USE_LINKER_RELAXATION
> - KBUILD_CFLAGS += -mno-relax
> - KBUILD_AFLAGS += -mno-relax
> -ifndef CONFIG_AS_IS_LLVM
> - KBUILD_CFLAGS += -Wa,-mno-relax
> - KBUILD_AFLAGS += -Wa,-mno-relax
> -endif
> # LLVM has an issue with target-features and LTO: https://github.com/llvm/llvm-project/issues/59350
> # Ensure it is aware of linker relaxation with LTO, otherwise relocations may
> # be incorrect: https://github.com/llvm/llvm-project/issues/65090
> -else ifeq ($(CONFIG_LTO_CLANG),y)
> +ifeq ($(CONFIG_LTO_CLANG),y)
> KBUILD_LDFLAGS += -mllvm -mattr=+c -mllvm -mattr=+relax
> endif
>
>
Acked-by: Alexandre Ghiti <alexghiti@...osinc.com>
Thanks,
Alex
Powered by blists - more mailing lists