X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=buildtools%2Fcheck-experimental-syms.sh;h=f3603e5bacd05e15267191cc02dc2130b4f2ccb2;hb=24252a60ad4d306b59aa3e1e3e5132f945f33387;hp=653756e274e00db705c603b6810c4b031a1bdf2d;hpb=3290ac14eb94d8a99ad2744547df1e6d3f255d8b;p=dpdk.git diff --git a/buildtools/check-experimental-syms.sh b/buildtools/check-experimental-syms.sh index 653756e274..f3603e5bac 100755 --- a/buildtools/check-experimental-syms.sh +++ b/buildtools/check-experimental-syms.sh @@ -5,7 +5,7 @@ MAPFILE=$1 OBJFILE=$2 -LIST_SYMBOL=$RTE_SDK/buildtools/map-list-symbol.sh +LIST_SYMBOL=$(dirname $(readlink -f $0))/map-list-symbol.sh # added check for "make -C test/" usage if [ ! -e $MAPFILE ] || [ ! -f $OBJFILE ] @@ -18,14 +18,15 @@ then exit 0 fi +DUMPFILE=$(mktemp -t dpdk.${0##*/}.XXX.objdump) +trap 'rm -f "$DUMPFILE"' EXIT +objdump -t $OBJFILE >$DUMPFILE + ret=0 -for SYM in `$LIST_SYMBOL -S EXPERIMENTAL $MAPFILE` +for SYM in `$LIST_SYMBOL -S EXPERIMENTAL $MAPFILE |cut -d ' ' -f 3` do - objdump -t $OBJFILE | grep -q "\.text.*$SYM$" - IN_TEXT=$? - objdump -t $OBJFILE | grep -q "\.text\.experimental.*$SYM$" - IN_EXP=$? - if [ $IN_TEXT -eq 0 -a $IN_EXP -ne 0 ] + 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 @@ -36,11 +37,12 @@ do fi done -for SYM in `objdump -t $OBJFILE |awk '{ - if ($2 != "l" && $4 == ".text.experimental") { +# Filter out symbols suffixed with a . for icc +for SYM in `awk '{ + if ($2 != "l" && $4 == ".text.experimental" && !($NF ~ /\.$/)) { print $NF } -}'` +}' $DUMPFILE` do $LIST_SYMBOL -S EXPERIMENTAL -s $SYM -q $MAPFILE || { cat >&2 <<- END_OF_MESSAGE