mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-21 08:11:47 -09:00
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 <fl@n621.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
b1990243ca
commit
6c9c2b71e6
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user