diff mbox series

[bpf-next] kbuild: handle old pahole more gracefully when generating BTF

Message ID 20190415215839.1895340-1-andrii.nakryiko@gmail.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] kbuild: handle old pahole more gracefully when generating BTF | expand

Commit Message

Andrii Nakryiko April 15, 2019, 9:58 p.m. UTC
From: Andrii Nakryiko <andriin@fb.com>

When CONFIG_DEBUG_INFO_BTF is enabled but available version of pahole is too
old to support BTF generation, build script is supposed to emit warning and
proceed with the build. Due to using exit instead of return from BASH function,
existing handling code prematurely exits exit code 0, not completing some of
the build steps. This patch fixes issue by correctly returning just from
gen_btf() function only.

Fixes: e83b9f55448a ("kbuild: add ability to generate BTF type info for vmlinux")
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
---
 scripts/link-vmlinux.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Song Liu April 15, 2019, 11:37 p.m. UTC | #1
> On Apr 15, 2019, at 2:58 PM, andrii.nakryiko@gmail.com wrote:
> 
> From: Andrii Nakryiko <andriin@fb.com>
> 
> When CONFIG_DEBUG_INFO_BTF is enabled but available version of pahole is too
> old to support BTF generation, build script is supposed to emit warning and
> proceed with the build. Due to using exit instead of return from BASH function,
> existing handling code prematurely exits exit code 0, not completing some of
> the build steps. This patch fixes issue by correctly returning just from
> gen_btf() function only.
> 
> Fixes: e83b9f55448a ("kbuild: add ability to generate BTF type info for vmlinux")
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Yonghong Song <yhs@fb.com>
> Cc: Martin KaFai Lau <kafai@fb.com>
> Signed-off-by: Andrii Nakryiko <andriin@fb.com>

Acked-by: Song Liu <songliubraving@fb.com>


> ---
> scripts/link-vmlinux.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index dd2b31ccca6a..6a148d0d51bf 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -99,7 +99,7 @@ gen_btf()
> 	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"
> -		exit 0
> +		return 0
> 	fi
> 
> 	info "BTF" ${1}
> -- 
> 2.17.1
>
Daniel Borkmann April 16, 2019, 8:26 a.m. UTC | #2
On 04/15/2019 11:58 PM, andrii.nakryiko@gmail.com wrote:
> From: Andrii Nakryiko <andriin@fb.com>
> 
> When CONFIG_DEBUG_INFO_BTF is enabled but available version of pahole is too
> old to support BTF generation, build script is supposed to emit warning and
> proceed with the build. Due to using exit instead of return from BASH function,
> existing handling code prematurely exits exit code 0, not completing some of
> the build steps. This patch fixes issue by correctly returning just from
> gen_btf() function only.
> 
> Fixes: e83b9f55448a ("kbuild: add ability to generate BTF type info for vmlinux")
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Yonghong Song <yhs@fb.com>
> Cc: Martin KaFai Lau <kafai@fb.com>
> Signed-off-by: Andrii Nakryiko <andriin@fb.com>

Applied, thanks!
diff mbox series

Patch

diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index dd2b31ccca6a..6a148d0d51bf 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -99,7 +99,7 @@  gen_btf()
 	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"
-		exit 0
+		return 0
 	fi
 
 	info "BTF" ${1}