On Fri, Jul 31, 2026 at 12:36 AM wangmy via lists.openembedded.org
<[email protected]> wrote:
>
> From: Wang Mingyu <[email protected]>
>
> When CONFIG_DEBUG_INFO_BTF is enabled in the kernel, building external
> modules that use BPF requires the 'resolve_btfids' host tool. This tool
> and its dependencies were not included in the kernel-devsrc package.
>
> This can cause a build failure in an SDK environment when 'make scripts'
> is run, for example:
>
>   make[4]: *** No rule to make target '.../tools/bpf/resolve_btfids/main.o'
>
> To fix this, unconditionally install the minimal set of source files
> required to build the 'resolve_btfids' tool and its library dependencies.
> This avoids coupling the recipe to specific kernel CONFIG symbols while
> also ensuring only necessary files are included in the package.
>
> The copy operations ignore errors to prevent build failures on older
> kernel versions where these files may not exist.

v2 is the right way to do it! Thanks for the quick turnaround

Acked-by: Bruce Ashfield <[email protected]>

>
> Signed-off-by: Wang Mingyu <[email protected]>
> ---
> V1: https://lists.openembedded.org/g/openembedded-core/message/242225
> Changes in v2:
>   - Remove conditional copy based on CONFIG_DEBUG_INFO_BTF.
>   - Copy a minimal set of files instead of entire directories.
>   - Make copy operations robust against non-existent files.
>
> ---
>  meta/recipes-kernel/linux/kernel-devsrc.bb | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb 
> b/meta/recipes-kernel/linux/kernel-devsrc.bb
> index 237dec6b12..ca1a08cba3 100644
> --- a/meta/recipes-kernel/linux/kernel-devsrc.bb
> +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
> @@ -176,6 +176,18 @@ do_install() {
>              cp -a --parents $(find tools/arch/${ARCH}/ -type f) 
> $kerneldir/build/
>          fi
>
> +        # For v5.2+ when BTF is enabled, scripts prepare may rebuild the
> +        # resolve_btfids host tool. Copy the minimal sources it needs instead
> +        # of coupling this recipe to a specific kernel CONFIG_ symbol.
> +        cp -a --parents tools/bpf/resolve_btfids/* $kerneldir/build/ 
> 2>/dev/null || :
> +        cp -a --parents tools/lib/bpf/* $kerneldir/build/ 2>/dev/null || :
> +        cp -a --parents tools/lib/subcmd/* $kerneldir/build/ 2>/dev/null || :
> +        cp -a --parents tools/lib/ctype.c tools/lib/rbtree.c 
> tools/lib/str_error_r.c \
> +            tools/lib/string.c tools/lib/zalloc.c $kerneldir/build/ 
> 2>/dev/null || :
> +        cp -a --parents tools/build/Build.include tools/build/Build 
> tools/build/fixdep.c \
> +            tools/scripts/Makefile.arch tools/scripts/Makefile.include \
> +            tools/scripts/utilities.mak $kerneldir/build/ 2>/dev/null || :
> +
>          if [ "${ARCH}" = "arm64" ]; then
>              # arch/arm64/include/asm/xen references arch/arm
>              cp -a --parents arch/arm/include/asm/xen $kerneldir/build/
> --
> 2.43.0
>
>
> 
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#242443): 
https://lists.openembedded.org/g/openembedded-core/message/242443
Mute This Topic: https://lists.openembedded.org/mt/120530366/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to