summaryrefslogtreecommitdiff
path: root/scripts/pahole-flags.sh
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@redhat.com>2021-10-29 14:57:29 +0200
committerAndrii Nakryiko <andrii@kernel.org>2021-11-01 18:09:58 -0700
commit9741e07ece7c247dd65e1aa01e16b683f01c05a8 (patch)
treef8124044849c3341e81ed559ec03e4fa2dbc94e9 /scripts/pahole-flags.sh
parent0869e5078afbd1b22c20832b391b2d85291bc0a8 (diff)
downloadlinux-next-9741e07ece7c247dd65e1aa01e16b683f01c05a8.tar.gz
kbuild: Unify options for BTF generation for vmlinux and modules
Using new PAHOLE_FLAGS variable to pass extra arguments to pahole for both vmlinux and modules BTF data generation. Adding new scripts/pahole-flags.sh script that detect and prints pahole options. [ fixed issues found by kernel test robot ] Signed-off-by: Jiri Olsa <jolsa@kernel.org> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20211029125729.70002-1-jolsa@kernel.org
Diffstat (limited to 'scripts/pahole-flags.sh')
-rwxr-xr-xscripts/pahole-flags.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
new file mode 100755
index 000000000000..2b99fc77019c
--- /dev/null
+++ b/scripts/pahole-flags.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+
+extra_paholeopt=
+
+if ! [ -x "$(command -v ${PAHOLE})" ]; then
+ return
+fi
+
+pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/')
+
+if [ "${pahole_ver}" -ge "118" ] && [ "${pahole_ver}" -le "121" ]; then
+ # pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars
+ extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_vars"
+fi
+if [ "${pahole_ver}" -ge "121" ]; then
+ extra_paholeopt="${extra_paholeopt} --btf_gen_floats"
+fi
+
+echo ${extra_paholeopt}