summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorDavid Marchand <david.marchand@redhat.com>2019-11-25 09:10:07 +0100
committerDavid Marchand <david.marchand@redhat.com>2019-11-26 09:04:36 +0100
commit24252a60ad4d306b59aa3e1e3e5132f945f33387 (patch)
treea7096166c618da5ad586bb0bca6f85bb26624b1e /buildtools
parent72e75e1f1bd72f22e5a31d9d0a95b46ddf247c54 (diff)
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 <arybchenko@solarflare.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
Diffstat (limited to 'buildtools')
-rwxr-xr-xbuildtools/check-experimental-syms.sh4
1 files 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