| From 0b908f796d6b414efbe676d0106d18d88efd951e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 22 Jan 2020 00:01:10 +0000 |
| Subject: bpf, btf: Always output invariant hit in pahole DWARF to BTF |
| transform |
| |
| From: Chris Down <chris@chrisdown.name> |
| |
| [ 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: Chris Down <chris@chrisdown.name> |
| Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| Acked-by: Andrii Nakryiko <andriin@fb.com> |
| Link: https://lore.kernel.org/bpf/20200122000110.GA310073@chrisdown.name |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| scripts/link-vmlinux.sh | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh |
| index 4363799403561..408b5c0b99b1b 100755 |
| --- a/scripts/link-vmlinux.sh |
| +++ b/scripts/link-vmlinux.sh |
| @@ -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 |
| |
| -- |
| 2.20.1 |
| |