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 <nhorman@tuxdriver.com>
This commit is contained in:
Neil Horman 2018-10-10 10:29:28 -04:00 committed by Thomas Monjalon
parent ab856f2947
commit 49bcce1383

View File

@ -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