[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4BzYdQz7p3khLPbNA_1cKbVJv-XJCcKtpxbsoXzExo+g_DQ@mail.gmail.com>
Date: Wed, 18 Nov 2020 17:57:25 -0800
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: Jiri Olsa <jolsa@...nel.org>
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andriin@...com>,
Tony Ambardar <tony.ambardar@...il.com>,
Thadeu Lima de Souza Cascardo <cascardo@...onical.com>,
Aurelien Jarno <aurelien@...el32.net>,
Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...omium.org>
Subject: Re: [PATCH] libbpf: Fix VERSIONED_SYM_COUNT number parsing
On Wed, Nov 18, 2020 at 1:15 PM Jiri Olsa <jolsa@...nel.org> wrote:
>
> We remove "other info" from "readelf -s --wide" output when
> parsing GLOBAL_SYM_COUNT variable, which was added in [1].
> But we don't do that for VERSIONED_SYM_COUNT and it's failing
> the check_abi target on powerpc Fedora 33.
>
> The extra "other info" wasn't problem for VERSIONED_SYM_COUNT
> parsing until commit [2] added awk in the pipe, which assumes
> that the last column is symbol, but it can be "other info".
>
> Adding "other info" removal for VERSIONED_SYM_COUNT the same
> way as we did for GLOBAL_SYM_COUNT parsing.
>
> [1] aa915931ac3e ("libbpf: Fix readelf output parsing for Fedora")
> [2] 746f534a4809 ("tools/libbpf: Avoid counting local symbols in ABI check")
>
> Cc: Tony Ambardar <tony.ambardar@...il.com>
> Cc: Thadeu Lima de Souza Cascardo <cascardo@...onical.com>
> Cc: Aurelien Jarno <aurelien@...el32.net>
> Fixes: 746f534a4809 ("tools/libbpf: Avoid counting local symbols in ABI check")
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
> ---
LGTM. For the future, though, please specify the destination tree: [PATCH bpf].
Acked-by: Andrii Nakryiko <andrii@...nel.org>
> tools/lib/bpf/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 5f9abed3e226..55bd78b3496f 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -146,6 +146,7 @@ GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \
> awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
> sort -u | wc -l)
> VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
> + sed 's/\[.*\]//' | \
> awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
> grep -Eo '[^ ]+@...BPF_' | cut -d@ -f1 | sort -u | wc -l)
>
> @@ -214,6 +215,7 @@ check_abi: $(OUTPUT)libbpf.so
> awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
> sort -u > $(OUTPUT)libbpf_global_syms.tmp; \
> readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
> + sed 's/\[.*\]//' | \
> awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
> grep -Eo '[^ ]+@...BPF_' | cut -d@ -f1 | \
> sort -u > $(OUTPUT)libbpf_versioned_syms.tmp; \
> --
> 2.26.2
>
Powered by blists - more mailing lists