18000b6940d8ec8537171dceb3f99f7246e36a51
[openwrt/staging/adrian.git] /
1 From fafb2e7eaec6d33ce16e28f481edf781219d5d27 Mon Sep 17 00:00:00 2001
2 From: Tony Ambardar <Tony.Ambardar@gmail.com>
3 Date: Fri, 24 Jul 2020 23:58:17 -0700
4 Subject: [PATCH] tools/libbpf: ensure no local symbols counted in ABI check
5
6 This avoids finding versioned local symbols such as _init and _fini in
7 the libbpf.so file.
8
9 Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com>
10 ---
11 tools/lib/bpf/Makefile | 2 ++
12 1 file changed, 2 insertions(+)
13
14 --- a/tools/lib/bpf/Makefile
15 +++ b/tools/lib/bpf/Makefile
16 @@ -152,6 +152,7 @@ GLOBAL_SYM_COUNT = $(shell readelf -s --
17 awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
18 sort -u | wc -l)
19 VERSIONED_SYM_COUNT = $(shell readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
20 + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \
21 grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | sort -u | wc -l)
22
23 CMD_TARGETS = $(LIB_TARGET) $(PC_FILE)
24 @@ -219,6 +220,7 @@ check_abi: $(OUTPUT)libbpf.so
25 awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
26 sort -u > $(OUTPUT)libbpf_global_syms.tmp; \
27 readelf --dyn-syms --wide $(OUTPUT)libbpf.so | \
28 + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \
29 grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | \
30 sort -u > $(OUTPUT)libbpf_versioned_syms.tmp; \
31 diff -u $(OUTPUT)libbpf_global_syms.tmp \