Re: [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.h

From: Christopher Obbard

Date: Wed Oct 07 2026 - 01:45:26 EST


Hi Denis,

On Mon, 2026-10-05 at 20:01 +0000, Denis Benato wrote:
> The tree staged by install-extmod-build contains no kernel/ files, but
> since commit 4fafd1165b33 ("kallsyms: increase marker density to 16:1
> to accelerate lookups") scripts/kallsyms.c includes
> ../kernel/kallsyms_internal.h.
>
> install-extmod-build rebuilds the host programs inside the staged tree
> whenever CC differs from HOSTCC (cross builds, or a ccache-wrapped CC).
> scripts/kallsyms is hostprogs-always-y, so that rebuild fails with:
>
> scripts/kallsyms.c:39:10: fatal error: '../kernel/kallsyms_internal.h' file not found
> 39 | #include "../kernel/kallsyms_internal.h"
> | ^~~~~~~
>
> Stage the header so the linux-headers-* and kernel-devel style packages
> can rebuild scripts/kallsyms.
>
> Fixes: 4fafd1165b33 ("kallsyms: increase marker density to 16:1 to accelerate lookups")
> Assisted-by: ZCode:glm-5.3
> Signed-off-by: Denis Benato <denis.benato@xxxxxxxxx>

I can confirm that this fixes the build failure introduced in "kallsyms:
increase marker density to 16:1 to accelerate lookups" when building
with CC != HOSTCC.

Whether we should expose kallsyms_internal.h as part of the external
module build is a separate question, but your patch as posted does
resolve the issue I was seeing.

Please keep me in CC.

Tested-by: Christopher Obbard <chris.obbard@xxxxxxxxxxxxxxxx>


Cheers!

Chris

> ---
> scripts/package/install-extmod-build | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build
> index f12e1ffe409eb..aad2cd59a37ba 100755
> --- a/scripts/package/install-extmod-build
> +++ b/scripts/package/install-extmod-build
> @@ -20,6 +20,8 @@ mkdir -p "${destdir}"
> (
> cd "${srctree}"
> echo Makefile
> + # scripts/kallsyms.c includes this header
> + echo kernel/kallsyms_internal.h
> find "arch/${SRCARCH}" -maxdepth 1 -name 'Makefile*'
> find "arch/${SRCARCH}" -name generated -prune -o -name include -type d -print
> find "arch/${SRCARCH}" -name Kbuild.platforms -o -name Platform