From 6c9c2b71e6db0bc9c16747b341439e8bb21bb7d8 Mon Sep 17 00:00:00 2001 From: Florian Larysch Date: Fri, 18 Sep 2026 14:33:37 +0200 Subject: [PATCH] linux: fix pahole discovery when BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE Around Linux 5.11, upstream started introducing checks that execute "pahole --version" for feature discovery (e.g. [1]). However, when building with BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE Buildroot only lists host-pahole in LINUX_DEPENDENCIES, so it isn't available for the configure step when using BR2_PER_PACKAGE_DIRECTORIES. This results in the host pahole being used (resulting in host-dependent behavior), or no pahole being detected at all when the build host doesn't have it (which will then disable Kconfig options that require it). Fix this by adding host-pahole to LINUX_KCONFIG_DEPENDENCIES. A similar issue occurs when running "make linux-menuconfig" and friends because PATH deliberately gets stripped when pkg-kconfig.mk builds x_CONFIGURATOR_MAKE_ENV. Explicitly pass the pahole path to fix this. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=5f9ae91f7c0dbbc4195e2a6c8eedcaeb5b9e4cbb Signed-off-by: Florian Larysch Signed-off-by: Thomas Petazzoni --- linux/linux.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/linux/linux.mk b/linux/linux.mk index 3599a10b50..cd80904113 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -125,6 +125,7 @@ endif ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y) LINUX_DEPENDENCIES += host-pahole +LINUX_KCONFIG_DEPENDENCIES += host-pahole else define LINUX_FIXUP_CONFIG_PAHOLE_CHECK $(Q)if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \ @@ -387,6 +388,9 @@ LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig # therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for # consistency with other kconfig packages. LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)" +ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y) +LINUX_KCONFIG_OPTS += PAHOLE="$(HOST_DIR)/bin/pahole" +endif # If no package has yet set it, set it from the Kconfig option LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES)