Re: [PATCH] bpf: btf: Always output invariant hit in pahole DWARF to BTF transform

From: Andrii Nakryiko
Date: Tue Jan 21 2020 - 14:06:21 EST


On Tue, Jan 21, 2020 at 7:05 AM Chris Down <chris@xxxxxxxxxxxxxx> wrote:
>
> 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: Chris Down <chris@xxxxxxxxxxxxxx>
> Cc: Stanislav Fomichev <sdf@xxxxxxxxxx>
> Cc: Andrii Nakryiko <andriin@xxxxxx>
> Cc: John Fastabend <john.fastabend@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx
> Cc: bpf@xxxxxxxxxxxxxxx
> Cc: kernel-team@xxxxxx
> ---
> scripts/link-vmlinux.sh | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index c287ad9b3a67..c8e9f49903a0 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -108,13 +108,15 @@ gen_btf()
> local bin_arch
>
> if ! [ -x "$(command -v ${PAHOLE})" ]; then
> - info "BTF" "${1}: pahole (${PAHOLE}) is not available"
> + printf 'BTF: %s: pahole (%s) is not available\n' \
> + "${1}" "${PAHOLE}" >&2

any reason not to use echo instead of printf? would be more minimal change

> 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"
> + printf 'BTF: %s: pahole version %s is too old, need at least v1.13\n' \
> + "${1}" "$(${PAHOLE} --version)" >&2
> return 1
> fi
>
> --
> 2.25.0
>