From 563d719101d26aa0a5f168893d098c37822d16f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= Date: Mon, 8 Dec 2025 21:25:31 +0100 Subject: [PATCH] linux-aarch64: Enable BTF information MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This enables BTF information for the linux-aarch64 kernel, making it possible to use BPF applications that require this to run. The BTF information is generated using pahole, so add that as a build-depend. The change makes the kernel packages somewhat bigger, as reported by Pacman when upgrading: Package (2) Old Version New Version Net Change linux-aarch64 6.18-3 6.18-4 42,54 MiB linux-aarch64-headers 6.18-3 6.18-4 457,94 MiB Tested on a Traverse Ten64 machine. Signed-off-by: Toke Høiland-Jørgensen --- core/linux-aarch64/PKGBUILD | 9 ++++++--- core/linux-aarch64/config | 17 +++++++++++++++-- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/core/linux-aarch64/PKGBUILD b/core/linux-aarch64/PKGBUILD index 108e974b5d..c4e3d75df2 100644 --- a/core/linux-aarch64/PKGBUILD +++ b/core/linux-aarch64/PKGBUILD @@ -9,11 +9,11 @@ _srcname=linux-6.18 _kernelname=${pkgbase#linux} _desc="AArch64 multi-platform" pkgver=6.18 -pkgrel=3 +pkgrel=4 arch=('aarch64') url="http://www.kernel.org/" license=('GPL-2.0-only') -makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc' 'python') +makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'git' 'uboot-tools' 'vboot-utils' 'dtc' 'python' 'pahole') options=('!strip') source=("https://www.kernel.org/pub/linux/kernel/v6.x/${_srcname}.tar.xz" #"https://www.kernel.org/pub/linux/kernel/v6.x/patch-${pkgver}.xz" @@ -31,7 +31,7 @@ md5sums=('9207ae77b0d63c22dc4646554963cfc7' 'c064a0a49f4ed7d487d482ca73c75178' '416b7c6ef37cc0edb6cb67cf618360f5' 'e3252a71f1f38f69799b0af9ad11ab8a' - '4e7b94b878c360d075c79c60a34ccba3' + '2e7e19fdd4a16af71314559c8f4003b8' '7c97cf141750ad810235b1ad06eb9f75' '61c5ff73c136ed07a7aadbf58db3d96a' '584777ae88bce2c5659960151b64c7d8' @@ -126,6 +126,9 @@ _package-headers() { install -Dt "$builddir/arch/arm64" -m644 arch/arm64/Makefile cp -t "$builddir" -a scripts + # needed to generate BTF for out-of-tree modules + install -Dt "$builddir/tools/bpf/resolve_btfids" -m755 tools/bpf/resolve_btfids/resolve_btfids + # add xfs and shmem for aufs building mkdir -p "$builddir"/{fs/xfs,mm} diff --git a/core/linux-aarch64/config b/core/linux-aarch64/config index 4ecac300b6..959940c8a7 100644 --- a/core/linux-aarch64/config +++ b/core/linux-aarch64/config @@ -122,6 +122,7 @@ CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y CONFIG_PREEMPT_DYNAMIC=y # CONFIG_SCHED_CORE is not set +# CONFIG_SCHED_CLASS_EXT is not set # # CPU/Task time and stats accounting @@ -1752,6 +1753,7 @@ CONFIG_NET_SCH_FQ_PIE=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCH_PLUG=m CONFIG_NET_SCH_ETS=m +# CONFIG_NET_SCH_BPF is not set # CONFIG_NET_SCH_DUALPI2 is not set # CONFIG_NET_SCH_DEFAULT is not set @@ -12343,11 +12345,21 @@ CONFIG_DEBUG_MISC=y # # Compile-time checks and compiler options # +CONFIG_DEBUG_INFO=y CONFIG_AS_HAS_NON_CONST_ULEB128=y -CONFIG_DEBUG_INFO_NONE=y +# CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_DWARF5 is not set +CONFIG_DEBUG_INFO_DWARF5=y +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_DEBUG_INFO_COMPRESSED_NONE=y +# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set +# CONFIG_DEBUG_INFO_COMPRESSED_ZSTD is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set +# CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=1024 CONFIG_STRIP_ASM_SYMS=y # CONFIG_READABLE_ASM is not set @@ -12553,6 +12565,7 @@ CONFIG_STRICT_DEVMEM=y # arm64 Debugging # # CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_EFI is not set # CONFIG_ARM64_RELOC_TEST is not set # CONFIG_CORESIGHT is not set # end of arm64 Debugging