]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
kbuild: Add CONFIG_PAHOLE_VERSION
authorNathan Chancellor <nathan@kernel.org>
Mon, 7 Feb 2022 15:15:12 +0000 (15:15 +0000)
committerPaolo Pisati <paolo.pisati@canonical.com>
Fri, 11 Feb 2022 10:59:44 +0000 (11:59 +0100)
There are a few different places where pahole's version is turned into a
three digit form with the exact same command. Move this command into
scripts/pahole-version.sh to reduce the amount of duplication across the
tree.

Create CONFIG_PAHOLE_VERSION so the version code can be used in Kconfig
to enable and disable configuration options based on the pahole version,
which is already done in a couple of places.

Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220201205624.652313-3-nathan@kernel.org
(cherry picked from bpf-next commit 613fe169237785a4bb1d06397b52606b2967da53)
Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
MAINTAINERS
init/Kconfig
scripts/pahole-version.sh [new file with mode: 0755]

index b694a8bd6ee03600b4f995d23bbc4811ae126456..ba0e2495c21e41bb13fa0183f58eeac57871bfe0 100644 (file)
@@ -3418,6 +3418,7 @@ F:        net/sched/cls_bpf.c
 F:     samples/bpf/
 F:     scripts/bpf_doc.py
 F:     scripts/pahole-flags.sh
+F:     scripts/pahole-version.sh
 F:     tools/bpf/
 F:     tools/lib/bpf/
 F:     tools/testing/selftests/bpf/
index 602380550a9db5013c189027f5836697998b1289..c6b8051c8d3718f0b7333eff24dc66f7cb2807a2 100644 (file)
@@ -86,6 +86,10 @@ config CC_HAS_ASM_INLINE
 config CC_HAS_NO_PROFILE_FN_ATTR
        def_bool $(success,echo '__attribute__((no_profile_instrument_function)) int x();' | $(CC) -x c - -c -o /dev/null -Werror)
 
+config PAHOLE_VERSION
+       int
+       default $(shell,$(srctree)/scripts/pahole-version.sh $(PAHOLE))
+
 config CONSTRUCTORS
        bool
 
diff --git a/scripts/pahole-version.sh b/scripts/pahole-version.sh
new file mode 100755 (executable)
index 0000000..f8a32ab
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Usage: $ ./pahole-version.sh pahole
+#
+# Prints pahole's version in a 3-digit form, such as 119 for v1.19.
+
+if [ ! -x "$(command -v "$@")" ]; then
+       echo 0
+       exit 1
+fi
+
+"$@" --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'