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 6a148d0d51bf68847868cc36341eb38e8c6151a8..e3c06b9482a2597598b5d13e61582b31026e6596 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"