From 24252a60ad4d306b59aa3e1e3e5132f945f33387 Mon Sep 17 00:00:00 2001 From: David Marchand Date: Mon, 25 Nov 2019 09:10:07 +0100 Subject: [PATCH] buildtools: fix build with coverage A compiler can reuse a variable name and prefix it when instrumenting with coverage. Example: $ make defconfig T=x86_64-native-linux-gcc O=master $ make EXTRA_CFLAGS='--coverage' O=master [...] CC rte_flow.o rte_flow_dynf_metadata_offs is not flagged as experimental but is listed in version map Please add __rte_experimental to the definition of rte_flow_dynf_metadata_offs $ objdump -t master/build/lib/librte_ethdev/rte_flow.o |grep _offs$ 0000000000000000 l F .text.startup 000000000000000a _GLOBAL__sub_I_65535_0_rte_flow_dynf_metadata_offs 0000000000000620 g O .data 0000000000000004 rte_flow_dynf_metadata_offs Protect against this by adding a space character in the pattern. Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports") Cc: stable@dpdk.org Reported-by: Andrew Rybchenko Signed-off-by: David Marchand Tested-by: Andrew Rybchenko Acked-by: Neil Horman --- buildtools/check-experimental-syms.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildtools/check-experimental-syms.sh b/buildtools/check-experimental-syms.sh index abebb89f12..f3603e5bac 100755 --- a/buildtools/check-experimental-syms.sh +++ b/buildtools/check-experimental-syms.sh @@ -25,8 +25,8 @@ objdump -t $OBJFILE >$DUMPFILE ret=0 for SYM in `$LIST_SYMBOL -S EXPERIMENTAL $MAPFILE |cut -d ' ' -f 3` do - if grep -q "\.text.*$SYM$" $DUMPFILE && - ! grep -q "\.text\.experimental.*$SYM$" $DUMPFILE + if grep -q "\.text.*[[:space:]]$SYM$" $DUMPFILE && + ! grep -q "\.text\.experimental.*[[:space:]]$SYM$" $DUMPFILE then cat >&2 <<- END_OF_MESSAGE $SYM is not flagged as experimental -- 2.20.1