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 >