From: Artem Savkov on gitlab.com Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2884
Forwardport from rhel9.
Bugzilla: http://bugzilla.redhat.com/2120968 Upstream status: RHEL-only
With the latest toolchain update build fails due to libbpf missing btf enum64 support. 5.19 update contains libbpf update but the spec uses buildroot's (old) bpftool.
Switch to use the just-built bpftool.
The snippet cannot be moved below bpftool build since vmlinux.h is needed to build_tools.
Credits to Felix Maurer fmaurer@redhat.com
Signed-off-by: Yauheni Kaliuta ykaliuta@redhat.com
--- redhat/kernel.spec.template | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
From: Yauheni Kaliuta ykaliuta@redhat.com
spec: use jsut-built bpftool for vmlinux.h generation
Bugzilla: http://bugzilla.redhat.com/2120968 Upstream status: RHEL-only
With the latest toolchain update build fails due to libbpf missing btf enum64 support. 5.19 update contains libbpf update but the spec uses buildroot's (old) bpftool.
Switch to use the just-built bpftool.
The snippet cannot be moved below bpftool build since vmlinux.h is needed to build_tools.
Credits to Felix Maurer fmaurer@redhat.com
Signed-off-by: Yauheni Kaliuta ykaliuta@redhat.com
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template index blahblah..blahblah 100644 --- a/redhat/kernel.spec.template +++ b/redhat/kernel.spec.template @@ -666,9 +666,6 @@ BuildRequires: kernel-rpm-macros # glibc-static is required for a consistent build environment (specifically # CONFIG_CC_CAN_LINK_STATIC=y). BuildRequires: glibc-static -%ifnarch %{nobuildarches} noarch -BuildRequires: bpftool -%endif %if %{with_headers} BuildRequires: rsync %endif @@ -2610,7 +2607,9 @@ BuildKernel() { # Generate vmlinux.h and put it to kernel-devel path # zfcpdump build does not have btf anymore if [ "$Variant" != "zfcpdump" ]; then - bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h + # Build the bootstrap bpftool to generate vmlinux.h + make -C tools/bpf/bpftool bootstrap + tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h fi
# prune junk from kernel-devel
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2884
From: Artem Savkov asavkov@redhat.com
redhat/spec: use tools_make when building bootstrap bpftool
Use tools_make macro instead of plain make to build bootstrap bpftool so that CFLAGS/LDFLAGS are properly set.
Signed-off-by: Artem Savkov asavkov@redhat.com
diff --git a/redhat/kernel.spec.template b/redhat/kernel.spec.template index blahblah..blahblah 100644 --- a/redhat/kernel.spec.template +++ b/redhat/kernel.spec.template @@ -2608,7 +2608,7 @@ BuildKernel() { # zfcpdump build does not have btf anymore if [ "$Variant" != "zfcpdump" ]; then # Build the bootstrap bpftool to generate vmlinux.h - make -C tools/bpf/bpftool bootstrap + %{tools_make} -C tools/bpf/bpftool bootstrap tools/bpf/bpftool/bootstrap/bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h fi
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2884
kernel@lists.fedoraproject.org