From 49bcce138374458d1edd1c50d8e5726959108ef4 Mon Sep 17 00:00:00 2001 From: Neil Horman Date: Wed, 10 Oct 2018 10:29:28 -0400 Subject: [PATCH] buildtools: prevent experimental symbol match on substring The experimental symbol check script matched on the regexes "\.text.*$SYM" and "\.text\.experimental.*$SYM" which allows for substring matches. If a symbol is leading substring of another one (e.g. symbol foo is a substring of symbol foobar), it would match on symbols when it shouldn't. It is fixed by matching additionally on the end of line so that symbols are an exact match. Signed-off-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 5bc8cda176..d0915102d4 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.20.1