]> git.itanic.dy.fi Git - linux-stable/commitdiff
riscv: disable HAVE_LD_DEAD_CODE_DATA_ELIMINATION for LLD
authorNick Desaulniers <ndesaulniers@google.com>
Fri, 23 Jun 2023 17:06:17 +0000 (10:06 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Sun, 25 Jun 2023 23:30:50 +0000 (16:30 -0700)
Linking allyesconfig with ld.lld-17 with CONFIG_DEAD_CODE_ELIMINATION=y
takes hours.  Assuming this is a performance regression that can be
fixed, tentatively disable this for now so that allyesconfig builds
don't start timing out.  If and when there's a fix to ld.lld, this can
be converted to a version check instead so that users of older but still
supported versions of ld.lld don't hurt themselves by enabling
CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y.

Link: https://github.com/ClangBuiltLinux/linux/issues/1881
Link: https://lore.kernel.org/linux-riscv/ZJXTwqZIkXLxXaSi@google.com/
Reported-by: Palmer Dabbelt <palmer@dabbelt.com>
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/Kconfig

index 62e84fee2cfdad9c330a94a7de0c58f4a5b27109..a8a9387eb2842b804f734e351fda9a954ce600a1 100644 (file)
@@ -115,7 +115,8 @@ config RISCV
        select HAVE_KPROBES if !XIP_KERNEL
        select HAVE_KPROBES_ON_FTRACE if !XIP_KERNEL
        select HAVE_KRETPROBES if !XIP_KERNEL
-       select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
+       # https://github.com/ClangBuiltLinux/linux/issues/1881
+       select HAVE_LD_DEAD_CODE_DATA_ELIMINATION if !LD_IS_LLD
        select HAVE_MOVE_PMD
        select HAVE_MOVE_PUD
        select HAVE_PCI