On Wed, Jan 05, 2022 at 02:42:01PM +0100, Daniel Borkmann wrote:
On 12/31/21 8:56 AM, Saeed Mahameed wrote:
From: Saeed Mahameed <saeedm@xxxxxxxxxx>
I had a broken pahole and it's been driving me crazy to see tons of the
following error messages on every build.
pahole: symbol lookup error: pahole: undefined symbol: btf_gen_floats
scripts/pahole-flags.sh: line 12: [: : integer expression expected
scripts/pahole-flags.sh: line 16: [: : integer expression expected
Address this by redirecting pahole --version stderr to devnull,
and validate stdout has a non empty string, otherwise exit silently.
I'll leave this up to Andrii, but broken pahole version sounds like it would
have been better to fix the local pahole installation instead [rather than the
kernel having to guard against it, especially if it's driving you crazy]?
Already did :)
I could image that silent exit on empty version string due to broken pahole
deployment might rather waste developer's time to then go and debug why btf
wasn't generated..
Good point, I was mainly thinking about developers who are not familiar with btf
and who have no time debugging irrelevant build issues, but up to you, I
personally like silent build scripts.
Fixes: 9741e07ece7c ("kbuild: Unify options for BTF generation for vmlinux and modules")
CC: Andrii Nakryiko <andrii@xxxxxxxxxx>
CC: Jiri Olsa <jolsa@xxxxxxxxxx>
Signed-off-by: Saeed Mahameed <saeedm@xxxxxxxxxx>
---
scripts/pahole-flags.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
index e6093adf4c06..b3b53f890d40 100755
--- a/scripts/pahole-flags.sh
+++ b/scripts/pahole-flags.sh
@@ -7,7 +7,8 @@ if ! [ -x "$(command -v ${PAHOLE})" ]; then
exit 0
fi
-pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/')
+pahole_ver=$(${PAHOLE} --version 2>/dev/null | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/')
+[ -z "${pahole_ver}" ] && exit 0
if [ "${pahole_ver}" -ge "118" ] && [ "${pahole_ver}" -le "121" ]; then
# pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars