Re: linux-next: new objtool warnings
From: Peter Zijlstra
Date: Thu Nov 06 2025 - 06:48:48 EST
On Wed, Nov 05, 2025 at 01:09:23PM -0700, Nathan Chancellor wrote:
> On Wed, Nov 05, 2025 at 08:16:13PM +0100, Peter Zijlstra wrote:
> > # make O=tmp-build clean
> > # make O=tmp-build allmodconfig
> > # make O=tmp-build -j64 vmlinux 2>&1 | grep "\[M\]"
> > CC [M] sound/sound_core.o
> > CC [M] virt/lib/irqbypass.o
> > AS [M] arch/x86/crypto/twofish-x86_64-asm_64.o
> > CC [M] arch/x86/crypto/twofish_glue.o
> > CC [M] samples/vfio-mdev/mtty.o
> > CC [M] sound/ac97_bus.o
> > AS [M] arch/x86/crypto/twofish-x86_64-asm_64-3way.o
> > CC [M] arch/x86/crypto/twofish_glue_3way.o
>
> Thanks, I bisected this to commit d2d5cba5d92c ("kbuild: remove EXPERT
> and !COMPILE_TEST guarding from TRIM_UNUSED_KSYMS"), which explains
> everything when looking at Makefile:
>
> ifdef CONFIG_TRIM_UNUSED_KSYMS
> # For the kernel to actually contain only the needed exported symbols,
> # we have to build modules as well to determine what those symbols are.
> KBUILD_MODULES := y
> endif
>
> Maybe we want to restore the !COMPILE_TEST dependency?
Urgh, yeah, I suppose we do want. This TRIM_UNUSED_KSYMS is cute if you
swing that way for a full build, but getting all modules built if you
just want a vmlinux is really somewhat unexpected.