kbuild: tolerate missing pahole when generating BTF
authorAndrii Nakryiko <andriin@fb.com>
Mon, 6 May 2019 00:10:33 +0000 (17:10 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 6 May 2019 08:18:47 +0000 (10:18 +0200)
When BTF generation is enabled through CONFIG_DEBUG_INFO_BTF,
scripts/link-vmlinux.sh detects if pahole version is too old and
gracefully continues build process, skipping BTF generation build step.
But if pahole is not available, build will still fail. This patch adds
check for whether pahole exists at all and bails out gracefully, if not.

Cc: Alexei Starovoitov <ast@fb.com>
Reported-by: Yonghong Song <yhs@fb.com>
Fixes: e83b9f55448a ("kbuild: add ability to generate BTF type info for vmlinux")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
scripts/link-vmlinux.sh

index 6a148d0..e3c06b9 100755 (executable)
@@ -96,6 +96,11 @@ gen_btf()
 {
        local pahole_ver;
 
+       if ! [ -x "$(command -v ${PAHOLE})" ]; then
+               info "BTF" "${1}: pahole (${PAHOLE}) is not available"
+               return 0
+       fi
+
        pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/')
        if [ "${pahole_ver}" -lt "113" ]; then
                info "BTF" "${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.13"