From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Horman Subject: [PATCH] check-experimental-syms.sh: prevent symbol matches on substrings Date: Wed, 10 Oct 2018 10:29:28 -0400 Message-ID: <20181010142928.11274-1-nhorman@tuxdriver.com> Cc: Neil Horman , Thomas Monjalon , Ferruh Yigit To: dev@dpdk.org Return-path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 6DE3F1B69B for ; Wed, 10 Oct 2018 16:30:22 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Thomas attempted to submit this: https://patches.dpdk.org/patch/46311/ The other day, because the other patches being submitted with it were breaking on a false positive from the check-experimental-syms check. The problem was that the experimental symbol check script matched on the regexs "\.text.*$SYM" and "\.text\.experimental.*$SYM" which allows for substring matches, and librte_ethdev recently introduced symbols that are leading substrings of one another (e.g. symbol foo is a substring of symbol foobar), and so we would match on symbols when we shouldn't Instead of dropping the check, fix this properly by matching additionally on the end of line so that symbols are an exact match. Confirmed to build properly on Thomas' submitted patch set with the experimental check patch reverted (so that the checking actually happens) Signed-off-by: Neil Horman CC: Thomas Monjalon CC: Ferruh Yigit --- 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 5bc8cda17..d0915102d 100755 --- a/buildtools/check-experimental-syms.sh +++ b/buildtools/check-experimental-syms.sh @@ -16,9 +16,9 @@ for i in `awk 'BEGIN {found=0} /.*;/ {if (found == 1) print $1}' $MAPFILE` do SYM=`echo $i | sed -e"s/;//"` - objdump -t $OBJFILE | grep -q "\.text.*$SYM" + objdump -t $OBJFILE | grep -q "\.text.*$SYM$" IN_TEXT=$? - objdump -t $OBJFILE | grep -q "\.text\.experimental.*$SYM" + objdump -t $OBJFILE | grep -q "\.text\.experimental.*$SYM$" IN_EXP=$? if [ $IN_TEXT -eq 0 -a $IN_EXP -ne 0 ] then -- 2.17.1