objtool/klp: Only enable --checksum when needed

With CONFIG_KLP_BUILD enabled, checksums are only needed during a
klp-build run.  There's no need to enable them for normal kernel builds.

This also has the benefit of softening the xxhash dependency.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Michael Kelley <mhklinux@outlook.com>
Link: https://patch.msgid.link/edbb1ca215e4926e02edb493b68b9d6d063e902f.1762990139.git.jpoimboe@kernel.org
This commit is contained in:
Josh Poimboeuf 2025-11-12 15:32:34 -08:00 committed by Peter Zijlstra
parent ee0b48faba
commit 2092007aa3
3 changed files with 5 additions and 2 deletions

View File

@ -36,7 +36,7 @@ $(patsubst %.o,$(obj)/%.o,$(lib-y)): OBJECT_FILES_NON_STANDARD := y
# relocations, even if other objtool actions are being deferred. # relocations, even if other objtool actions are being deferred.
# #
$(pi-objs): objtool-enabled = 1 $(pi-objs): objtool-enabled = 1
$(pi-objs): objtool-args = $(if $(delay-objtool),,$(objtool-args-y)) --noabs $(pi-objs): objtool-args = $(if $(delay-objtool),--dry-run,$(objtool-args-y)) --noabs
# #
# Confine the startup code by prefixing all symbols with __pi_ (for position # Confine the startup code by prefixing all symbols with __pi_ (for position

View File

@ -173,7 +173,6 @@ ifdef CONFIG_OBJTOOL
objtool := $(objtree)/tools/objtool/objtool objtool := $(objtree)/tools/objtool/objtool
objtool-args-$(CONFIG_KLP_BUILD) += --checksum
objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK) += --hacks=jump_label objtool-args-$(CONFIG_HAVE_JUMP_LABEL_HACK) += --hacks=jump_label
objtool-args-$(CONFIG_HAVE_NOINSTR_HACK) += --hacks=noinstr objtool-args-$(CONFIG_HAVE_NOINSTR_HACK) += --hacks=noinstr
objtool-args-$(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) += --hacks=skylake objtool-args-$(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) += --hacks=skylake

View File

@ -489,8 +489,11 @@ clean_kernel() {
build_kernel() { build_kernel() {
local log="$TMP_DIR/build.log" local log="$TMP_DIR/build.log"
local objtool_args=()
local cmd=() local cmd=()
objtool_args=("--checksum")
cmd=("make") cmd=("make")
# When a patch to a kernel module references a newly created unexported # When a patch to a kernel module references a newly created unexported
@ -513,6 +516,7 @@ build_kernel() {
cmd+=("$VERBOSE") cmd+=("$VERBOSE")
cmd+=("-j$JOBS") cmd+=("-j$JOBS")
cmd+=("KCFLAGS=-ffunction-sections -fdata-sections") cmd+=("KCFLAGS=-ffunction-sections -fdata-sections")
cmd+=("OBJTOOL_ARGS=${objtool_args[*]}")
cmd+=("vmlinux") cmd+=("vmlinux")
cmd+=("modules") cmd+=("modules")