[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260210212007.GA1148627@ax162>
Date: Tue, 10 Feb 2026 14:20:07 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Sathvika Vasireddy <sv@...ux.ibm.com>
Cc: linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, masahiroy@...nel.org,
kees@...nel.org, naveen@...nel.org, jpoimboe@...nel.org,
peterz@...radead.org, npiggin@...il.com, maddy@...ux.ibm.com,
segher@...nel.crashing.org, christophe.leroy@...roup.eu,
mingo@...nel.org, mpe@...erman.id.au, nsc@...nel.org
Subject: Re: [RFC PATCH v3 6/6] powerpc: Enable build-time feature fixup
processing by default
On Mon, Feb 09, 2026 at 02:18:20PM +0530, Sathvika Vasireddy wrote:
> diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
> index e3dd7fc62f20..3d2a203b8908 100644
> --- a/scripts/Makefile.vmlinux
> +++ b/scripts/Makefile.vmlinux
> @@ -88,6 +88,11 @@ remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' '!.rel*.dyn'
> # https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c12d9fa2afe7abcbe407a00e15719e1a1350c2a7
> remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel.*'
>
> +# --emit-relocs produces .rela.* sections needed by objtool --ftr-fixup;
> +# strip them from vmlinux after fixup processing is complete.
> +remove-section-$(CONFIG_HAVE_OBJTOOL_FTR_FIXUP) += '.rel*' '!.rel*.dyn'
> +remove-section-$(CONFIG_HAVE_OBJTOOL_FTR_FIXUP) += '.rel.*'
Rather than duplicating the remove-section values from
CONFIG_ARCH_VMLINUX_NEEDS_RELOCS, I would like to see them combined with
something like:
diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux
index fcae1e432d9a..f70c3a36aee2 100644
--- a/scripts/Makefile.vmlinux
+++ b/scripts/Makefile.vmlinux
@@ -81,11 +81,15 @@ endif
# vmlinux
# ---------------------------------------------------------------------------
+# These configurations require vmlinux.unstripped to be linked with
+# '--emit-relocs', which need to be stripped from the final vmlinux.
+uses-emit-relocs := $(or $(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS),$(CONFIG_HAVE_OBJTOOL_FTR_FIXUP))
+
remove-section-y := .modinfo
-remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel*' '!.rel*.dyn'
+remove-section-$(uses-emit-relocs) += '.rel*' '!.rel*.dyn'
# for compatibility with binutils < 2.32
# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c12d9fa2afe7abcbe407a00e15719e1a1350c2a7
-remove-section-$(CONFIG_ARCH_VMLINUX_NEEDS_RELOCS) += '.rel.*'
+remove-section-$(uses-emit-relocs) += '.rel.*'
remove-symbols := -w --strip-unneeded-symbol='__mod_device_table__*'
Powered by blists - more mailing lists