73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
From 2da2f359dba50aafef1202edda34374d99b77a14 Mon Sep 17 00:00:00 2001
|
|
From: Francis Laniel <flaniel@linux.microsoft.com>
|
|
Date: Wed, 22 Dec 2021 18:49:05 +0100
|
|
Subject: [PATCH] linux: add BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE
|
|
|
|
CONFIG_DEBUG_BTF_INFO relies on pahole, so kernel DWARF are converted to BTF.
|
|
If CONFIG_DEBUG_BTF_INFO is set and BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE not,
|
|
an error message is shown and .config is not written.
|
|
|
|
Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
linux/Config.in | 12 ++++++++++++
|
|
linux/linux.mk | 12 ++++++++++++
|
|
2 files changed, 24 insertions(+)
|
|
|
|
diff --git a/linux/Config.in b/linux/Config.in
|
|
index 891e2cdcb6..582f37ba7c 100644
|
|
--- a/linux/Config.in
|
|
+++ b/linux/Config.in
|
|
@@ -470,6 +470,18 @@ config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
|
|
CONFIG_UNWINDER_ORC=y, please install libelf-dev,
|
|
libelf-devel or elfutils-libelf-devel".
|
|
|
|
+config BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE
|
|
+ bool "Needs host pahole"
|
|
+ help
|
|
+ Some Linux kernel configuration options (such as
|
|
+ CONFIG_DEBUG_INFO_BTF) require building a host program
|
|
+ called pahole. Enabling this option will ensure host-pahole
|
|
+ gets built before the Linux kernel.
|
|
+
|
|
+ Enable this option if you get a Linux kernel build failure
|
|
+ such as "BTF: .tmp_vmlinux.btf: pahole (pahole) is not
|
|
+ available".
|
|
+
|
|
# Linux extensions
|
|
source "linux/Config.ext.in"
|
|
|
|
diff --git a/linux/linux.mk b/linux/linux.mk
|
|
index 61fdc0c76c..dd2eebd446 100644
|
|
--- a/linux/linux.mk
|
|
+++ b/linux/linux.mk
|
|
@@ -114,6 +114,17 @@ ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF),y)
|
|
LINUX_DEPENDENCIES += host-elfutils host-pkgconf
|
|
endif
|
|
|
|
+ifeq ($(BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE),y)
|
|
+LINUX_DEPENDENCIES += host-pahole
|
|
+else
|
|
+define LINUX_FIXUP_CONFIG_PAHOLE_CHECK
|
|
+ if grep -q "^CONFIG_DEBUG_INFO_BTF=y" $(KCONFIG_DOT_CONFIG); then \
|
|
+ echo "To use CONFIG_DEBUG_INFO_BTF, enable host-pahole (BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE)" 1>&2; \
|
|
+ exit 1; \
|
|
+ fi
|
|
+endef
|
|
+endif
|
|
+
|
|
# If host-uboot-tools is selected by the user, assume it is needed to
|
|
# create a custom image
|
|
ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS),y)
|
|
@@ -324,6 +335,7 @@ define LINUX_KCONFIG_FIXUP_CMDS
|
|
$(call KCONFIG_DISABLE_OPT,$(opt))
|
|
)
|
|
$(LINUX_FIXUP_CONFIG_ENDIANNESS)
|
|
+ $(LINUX_FIXUP_CONFIG_PAHOLE_CHECK)
|
|
$(if $(BR2_arm)$(BR2_armeb),
|
|
$(call KCONFIG_ENABLE_OPT,CONFIG_AEABI))
|
|
$(if $(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),
|
|
--
|
|
2.25.1
|
|
|