From: Sathvika Vasireddy <sv@linux.ibm.com>
To: linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org
Cc: nathan@kernel.org, masahiroy@kernel.org, kees@kernel.org,
naveen@kernel.org, jpoimboe@kernel.org, peterz@infradead.org,
npiggin@gmail.com, maddy@linux.ibm.com,
segher@kernel.crashing.org, christophe.leroy@csgroup.eu,
mingo@kernel.org, mpe@ellerman.id.au, sv@linux.ibm.com,
nsc@kernel.org
Subject: [RFC PATCH v4 5/6] kbuild: Add objtool integration for PowerPC feature fixups
Date: Mon, 16 Mar 2026 11:52:36 +0530 [thread overview]
Message-ID: <20260316062237.30948-6-sv@linux.ibm.com> (raw)
In-Reply-To: <20260316062237.30948-1-sv@linux.ibm.com>
Add build system support for PowerPC feature fixup processing:
- Add HAVE_OBJTOOL_FTR_FIXUP config option for architectures that support
build-time feature fixup processing
- Integrate objtool feature fixup processing into vmlinux build
Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sathvika Vasireddy <sv@linux.ibm.com>
---
Makefile | 7 +++++++
scripts/Makefile.lib | 4 ++--
scripts/Makefile.vmlinux | 3 ++-
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 83ed80595378..861f5bec655c 100644
--- a/Makefile
+++ b/Makefile
@@ -1467,6 +1467,13 @@ ifdef CONFIG_OBJTOOL
prepare: tools/objtool
endif
+# CONFIG_OBJTOOL and CONFIG_HAVE_OBJTOOL_FTR_FIXUP are unrelated, separate
+# options. It was integrated in objtool in order to borrow the elf parser,
+# but this is different from how the other objtool commands are used.
+ifdef CONFIG_HAVE_OBJTOOL_FTR_FIXUP
+prepare: tools/objtool
+endif
+
ifdef CONFIG_BPF
ifdef CONFIG_DEBUG_INFO_BTF
prepare: tools/bpf/resolve_btfids
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index e429d68b8594..c9478c717574 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -179,10 +179,10 @@ cpp_flags = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F))
-ifdef CONFIG_OBJTOOL
-
objtool := $(objtree)/tools/objtool/objtool
+ifdef CONFIG_OBJTOOL
+
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
diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
index fcae1e432d9a..a1bef0638ecb 100644
--- a/scripts/Makefile.vmlinux
+++ b/scripts/Makefile.vmlinux
@@ -65,7 +65,8 @@ ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
# Final link of vmlinux with optional arch pass after final link
cmd_link_vmlinux = \
$< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)" "$@"; \
- $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
+ $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true); \
+ $(if $(CONFIG_HAVE_OBJTOOL_FTR_FIXUP), $(objtool) --ftr-fixup --link $@, true)
targets += vmlinux.unstripped .vmlinux.export.o
vmlinux.unstripped: scripts/link-vmlinux.sh vmlinux.o .vmlinux.export.o $(KBUILD_LDS) FORCE
--
2.43.0
next prev parent reply other threads:[~2026-03-16 6:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-16 6:22 [RFC PATCH v4 0/6] objtool: Fixup alternate feature relative addresses Sathvika Vasireddy
2026-03-16 6:22 ` [RFC PATCH v4 1/6] objtool/powerpc: Add build-time fixup of alternate feature branch targets Sathvika Vasireddy
2026-03-16 6:22 ` [RFC PATCH v4 2/6] objtool: Set ELF_F_LAYOUT flag to preserve vmlinux segment layout Sathvika Vasireddy
2026-03-16 6:22 ` [RFC PATCH v4 3/6] objtool: Fix "can't find starting instruction" warnings on vmlinux Sathvika Vasireddy
2026-03-16 6:22 ` [RFC PATCH v4 4/6] objtool/powerpc: Skip jump destination analysis and unnanotated intra-function call warnings for --ftr-fixup Sathvika Vasireddy
2026-03-16 6:22 ` Sathvika Vasireddy [this message]
2026-03-16 15:52 ` [RFC PATCH v4 5/6] kbuild: Add objtool integration for PowerPC feature fixups Nicolas Schier
2026-03-16 6:22 ` [RFC PATCH v4 6/6] powerpc: Enable build-time feature fixup processing by default Sathvika Vasireddy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260316062237.30948-6-sv@linux.ibm.com \
--to=sv@linux.ibm.com \
--cc=christophe.leroy@csgroup.eu \
--cc=jpoimboe@kernel.org \
--cc=kees@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=masahiroy@kernel.org \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=nathan@kernel.org \
--cc=naveen@kernel.org \
--cc=npiggin@gmail.com \
--cc=nsc@kernel.org \
--cc=peterz@infradead.org \
--cc=segher@kernel.crashing.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.