On Wed, Nov 18, 2020 at 1:15 PM Jiri Olsa <jolsa@xxxxxxxxxx> 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@xxxxxxxxx> > Cc: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx> > Cc: Aurelien Jarno <aurelien@xxxxxxxxxxx> > Fixes: 746f534a4809 ("tools/libbpf: Avoid counting local symbols in ABI check") > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > --- LGTM. For the future, though, please specify the destination tree: [PATCH bpf]. Acked-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > 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 '[^ ]+@LIBBPF_' | 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 '[^ ]+@LIBBPF_' | cut -d@ -f1 | \ > sort -u > $(OUTPUT)libbpf_versioned_syms.tmp; \ > -- > 2.26.2 >