mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.h
@ 2026-10-05 20:01 Denis Benato
  2026-10-06  8:11 ` Nathan Chancellor
  0 siblings, 1 reply; 2+ messages in thread
From: Denis Benato @ 2026-10-05 20:01 UTC (permalink / raw)
  To: linux-kbuild
  Cc: nathan, nsc, thomas.weissschuh, chewi, abelvesa, linux-kernel,
	Denis Benato

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@linux.dev>
---
 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
-- 
2.47.3


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.h
  2026-10-05 20:01 [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.h Denis Benato
@ 2026-10-06  8:11 ` Nathan Chancellor
  0 siblings, 0 replies; 2+ messages in thread
From: Nathan Chancellor @ 2026-10-06  8:11 UTC (permalink / raw)
  To: Denis Benato, Jim Cromie, Andrew Morton
  Cc: linux-kbuild, nsc, thomas.weissschuh, chewi, abelvesa,
	linux-kernel, Kees Cook

Hi Denis,

On Mon, Oct 05, 2026 at 08:01:23PM +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.

You did not add either the author or the committer of 4fafd1165b33, I
have done so now. This would need to be handled by them. However...

> 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"
>         |          ^~~~~~~

I would rather not ship an internal kernel header in the external module
build. If these defines are needed to build scripts/kallsyms.c, they
should live in a separate header that is included in
{kernel,scripts}/kallsyms.c that is safe to expose to the external
module build but I defer to the 4fafd1165b33 folks.

> 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@linux.dev>
> ---
>  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
> -- 
> 2.47.3
> 

-- 
Cheers,
Nathan

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-06  8:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-05 20:01 [PATCH] kbuild: install-extmod-build: install kernel/kallsyms_internal.h Denis Benato
2026-10-06  8:11 ` Nathan Chancellor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®