mirror of https://github.com/torvalds/linux.git
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:
parent
ee0b48faba
commit
2092007aa3
|
|
@ -36,7 +36,7 @@ $(patsubst %.o,$(obj)/%.o,$(lib-y)): OBJECT_FILES_NON_STANDARD := y
|
|||
# relocations, even if other objtool actions are being deferred.
|
||||
#
|
||||
$(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
|
||||
|
|
|
|||
|
|
@ -173,7 +173,6 @@ ifdef CONFIG_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_NOINSTR_HACK) += --hacks=noinstr
|
||||
objtool-args-$(CONFIG_MITIGATION_CALL_DEPTH_TRACKING) += --hacks=skylake
|
||||
|
|
|
|||
|
|
@ -489,8 +489,11 @@ clean_kernel() {
|
|||
|
||||
build_kernel() {
|
||||
local log="$TMP_DIR/build.log"
|
||||
local objtool_args=()
|
||||
local cmd=()
|
||||
|
||||
objtool_args=("--checksum")
|
||||
|
||||
cmd=("make")
|
||||
|
||||
# When a patch to a kernel module references a newly created unexported
|
||||
|
|
@ -513,6 +516,7 @@ build_kernel() {
|
|||
cmd+=("$VERBOSE")
|
||||
cmd+=("-j$JOBS")
|
||||
cmd+=("KCFLAGS=-ffunction-sections -fdata-sections")
|
||||
cmd+=("OBJTOOL_ARGS=${objtool_args[*]}")
|
||||
cmd+=("vmlinux")
|
||||
cmd+=("modules")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue