All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shivang Upadhyay <shivangu@linux.ibm.com>
To: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org
Cc: sv@linux.ibm.com, alexandre.chartre@oracle.com,
	alexghiti@rivosinc.com, aliceryhl@google.com, ardb@kernel.org,
	bp@alien8.de, chleroy@kernel.org, elver@google.com,
	ihor.solodrai@linux.dev, jpoimboe@kernel.org, kees@kernel.org,
	legion@kernel.org, lossin@kernel.org, maddy@linux.ibm.com,
	masahiroy@kernel.org, mpe@ellerman.id.au, nathan@kernel.org,
	npiggin@gmail.com, nsc@kernel.org, ojeda@kernel.org,
	peterz@infradead.org, pmladek@suse.com, rostedt@goodmis.org,
	tamird@kernel.org, thomas.weissschuh@linutronix.de,
	thuth@redhat.com, yuxuan.zuo@outlook.com,
	sourabhjain@linux.ibm.com,
	Shivang Upadhyay <shivangu@linux.ibm.com>
Subject: [PATCH v2 5/6] kbuild: Add objtool integration for PowerPC feature fixups
Date: Tue, 29 Sep 2026 11:21:36 +0530	[thread overview]
Message-ID: <20260929055138.43489-6-shivangu@linux.ibm.com> (raw)
In-Reply-To: <20260929055138.43489-1-shivangu@linux.ibm.com>

From: Sathvika Vasireddy <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>
Acked-by: Nicolas Schier <nsc@kernel.org>  # kbuild
Signed-off-by: Shivang Upadhyay <shivangu@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 6b8b812f23b9..363cad32fb26 100644
--- a/Makefile
+++ b/Makefile
@@ -1566,6 +1566,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 0a4fdd8bd975..efcedeb207b7 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -182,10 +182,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.54.0


  parent reply	other threads:[~2026-09-29  5:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29  5:51 [PATCH v2 0/6] objtool: Fixup alternate feature relative addresses Shivang Upadhyay
2026-09-29  5:51 ` [PATCH v2 1/6] objtool/powerpc: Add build-time fixup of alternate feature branch targets Shivang Upadhyay
2026-09-29  5:51 ` [PATCH v2 2/6] objtool: Set ELF_F_LAYOUT flag to preserve vmlinux segment layout Shivang Upadhyay
2026-09-30  9:48   ` Peter Zijlstra
2026-09-29  5:51 ` [PATCH v2 3/6] objtool: Fix "can't find starting instruction" warnings on vmlinux Shivang Upadhyay
2026-09-29 14:12   ` Peter Zijlstra
2026-09-29 14:24   ` Peter Zijlstra
2026-09-29  5:51 ` [PATCH v2 4/6] objtool/powerpc: Skip jump destination analysis and unnanotated intra-function call warnings for --ftr-fixup Shivang Upadhyay
2026-09-29 14:25   ` Peter Zijlstra
2026-09-30  6:13     ` Shivang Upadhyay
2026-09-30  9:44       ` Peter Zijlstra
2026-10-06  6:14         ` Shivang Upadhyay
2026-09-29  5:51 ` Shivang Upadhyay [this message]
2026-09-29  5:51 ` [PATCH v2 6/6] powerpc: Enable build-time feature fixup processing by default Shivang Upadhyay

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=20260929055138.43489-6-shivangu@linux.ibm.com \
    --to=shivangu@linux.ibm.com \
    --cc=alexandre.chartre@oracle.com \
    --cc=alexghiti@rivosinc.com \
    --cc=aliceryhl@google.com \
    --cc=ardb@kernel.org \
    --cc=bp@alien8.de \
    --cc=chleroy@kernel.org \
    --cc=elver@google.com \
    --cc=ihor.solodrai@linux.dev \
    --cc=jpoimboe@kernel.org \
    --cc=kees@kernel.org \
    --cc=legion@kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lossin@kernel.org \
    --cc=maddy@linux.ibm.com \
    --cc=masahiroy@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=nathan@kernel.org \
    --cc=npiggin@gmail.com \
    --cc=nsc@kernel.org \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=sourabhjain@linux.ibm.com \
    --cc=sv@linux.ibm.com \
    --cc=tamird@kernel.org \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=thuth@redhat.com \
    --cc=yuxuan.zuo@outlook.com \
    /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.