X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=devtools%2Fcheck-symbol-change.sh;h=020da7ed0303253627c4291de0b50eda1a2712ce;hb=9070f88b81dab42739fb169265e3ea727e47dfa2;hp=40b72073a975765b43ee7ae83dff9fee7c022ae6;hpb=084ca5728420f6afd6f617b8c7a88a4feb79053e;p=dpdk.git diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh index 40b72073a9..020da7ed03 100755 --- a/devtools/check-symbol-change.sh +++ b/devtools/check-symbol-change.sh @@ -4,8 +4,8 @@ build_map_changes() { - local fname=$1 - local mapdb=$2 + local fname="$1" + local mapdb="$2" cat "$fname" | awk ' # Initialize our variables @@ -23,16 +23,17 @@ build_map_changes() # does not end in 'map', indicating we have left the map chunk. # When we hit this, turn off the in_map variable, which # supresses the subordonate rules below - /[-+] a\/.*\.^(map)/ {in_map=0} + /[-+] a\/.*\.[^map]/ {in_map=0} - # Triggering this rule, which starts a line with a + and ends it + # Triggering this rule, which starts a line and ends it # with a { identifies a versioned section. The section name is # the rest of the line with the + and { symbols remvoed. # Triggering this rule sets in_sec to 1, which actives the # symbol rule below - /+.*{/ {gsub("+",""); + /^.*{/ { + gsub("+", ""); if (in_map == 1) { - sec=$1; in_sec=1; + sec=$(NF-1); in_sec=1; } } @@ -80,7 +81,7 @@ build_map_changes() check_for_rule_violations() { - local mapdb=$1 + local mapdb="$1" local mname local symname local secname @@ -89,10 +90,10 @@ check_for_rule_violations() while read mname symname secname ar do - if [ "$ar" == "add" ] + if [ "$ar" = "add" ] then - if [ "$secname" == "unknown" ] + if [ "$secname" = "unknown" ] then # Just inform the user of this occurrence, but # don't flag it as an error @@ -115,8 +116,9 @@ check_for_rule_violations() if [ $? -ne 0 ] then echo -n "ERROR: symbol $symname " - echo -n "is added in a section " - echo -n "other than the EXPERIMENTAL " + echo -n "is added in the $secname " + echo -n "section, but is expected to " + echo -n "be added in the EXPERIMENTAL " echo "section of the version map" ret=1 fi @@ -140,7 +142,7 @@ check_for_rule_violations() trap clean_and_exit_on_sig EXIT -mapfile=`mktemp mapdb.XXXXXX` +mapfile=`mktemp -t dpdk.mapdb.XXXXXX` patch=$1 exit_code=1 @@ -153,7 +155,6 @@ clean_and_exit_on_sig() build_map_changes "$patch" "$mapfile" check_for_rule_violations "$mapfile" exit_code=$? - rm -f "$mapfile" exit $exit_code