arm64/build: Warn on orphan section placement
authorKees Cook <keescook@chromium.org>
Wed, 2 Sep 2020 02:53:43 +0000 (19:53 -0700)
committerIngo Molnar <mingo@kernel.org>
Thu, 3 Sep 2020 08:28:35 +0000 (10:28 +0200)
We don't want to depend on the linker's orphan section placement
heuristics as these can vary between linkers, and may change between
versions. All sections need to be explicitly handled in the linker
script.

With all sections now handled, enable orphan section warnings.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20200902025347.2504702-2-keescook@chromium.org
arch/arm64/Makefile

index 6de7f55..081144f 100644 (file)
@@ -29,6 +29,10 @@ LDFLAGS_vmlinux      += --fix-cortex-a53-843419
   endif
 endif
 
+# We never want expected sections to be placed heuristically by the
+# linker. All sections should be explicitly named in the linker script.
+LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
+
 ifeq ($(CONFIG_ARM64_USE_LSE_ATOMICS), y)
   ifneq ($(CONFIG_ARM64_LSE_ATOMICS), y)
 $(warning LSE atomics not supported by binutils)