Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea038a52 authored by Chris Down's avatar Chris Down Committed by Greg Kroah-Hartman
Browse files

bpf, btf: Always output invariant hit in pahole DWARF to BTF transform



[ Upstream commit 2a67a6ccb01f21b854715d86ff6432a18b97adb3 ]

When trying to compile with CONFIG_DEBUG_INFO_BTF enabled, I got this
error:

    % make -s
    Failed to generate BTF for vmlinux
    Try to disable CONFIG_DEBUG_INFO_BTF
    make[3]: *** [vmlinux] Error 1

Compiling again without -s shows the true error (that pahole is
missing), but since this is fatal, we should show the error
unconditionally on stderr as well, not silence it using the `info`
function. With this patch:

    % make -s
    BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
    Failed to generate BTF for vmlinux
    Try to disable CONFIG_DEBUG_INFO_BTF
    make[3]: *** [vmlinux] Error 1

Signed-off-by: default avatarChris Down <chris@chrisdown.name>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200122000110.GA310073@chrisdown.name


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent f11aefc9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -108,13 +108,13 @@ gen_btf()
	local bin_arch

	if ! [ -x "$(command -v ${PAHOLE})" ]; then
		info "BTF" "${1}: pahole (${PAHOLE}) is not available"
		echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available"
		return 1
	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"
		echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.13"
		return 1
	fi