]> git.ipfire.org Git - thirdparty/linux.git/commit
ARM: 9443/1: Require linker to support KEEP within OVERLAY for DCE
authorNathan Chancellor <nathan@kernel.org>
Thu, 20 Mar 2025 21:33:49 +0000 (22:33 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 26 Mar 2025 13:31:47 +0000 (13:31 +0000)
commite7607f7d6d81af71dcc5171278aadccc94d277cd
tree83d0a1893f5958624b1c7f31ee9a842dac46446b
parent9cac324d6f4900f92d41db5fd6b73b6feb0bfb68
ARM: 9443/1: Require linker to support KEEP within OVERLAY for DCE

ld.lld prior to 21.0.0 does not support using the KEEP keyword within an
overlay description, which may be needed to avoid discarding necessary
sections within an overlay with '--gc-sections', which can be enabled
for the kernel via CONFIG_LD_DEAD_CODE_DATA_ELIMINATION.

Disallow CONFIG_LD_DEAD_CODE_DATA_ELIMINATION without support for KEEP
within OVERLAY and introduce a macro, OVERLAY_KEEP, that can be used to
conditionally add KEEP when it is properly supported to avoid breaking
old versions of ld.lld.

Cc: stable@vger.kernel.org
Link: https://github.com/llvm/llvm-project/commit/381599f1fe973afad3094e55ec99b1620dba7d8c
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
arch/arm/Kconfig
arch/arm/include/asm/vmlinux.lds.h
init/Kconfig