[dpdk-dev] [PATCH] check-symbol-change: fix regex to match on end of map file

Neil Horman nhorman at tuxdriver.com
Fri Nov 2 12:50:45 CET 2018


On Thu, Nov 01, 2018 at 11:53:00PM +0100, Thomas Monjalon wrote:
> 01/11/2018 14:54, Neil Horman:
> > the regex to determine the end of the map file chunk in a patch seems to
> > be wrong,  It was using perl regex syntax, which awk doesn't appear to
> > support (I'm still not sure how it was working previously).  Regardless,
> > it wasn't triggering and as a result symbols were getting added to the
> > mapdb that shouldn't be there.
> > 
> > Fix it by converting the regex to use traditional posix syntax, matching
> > only on the negation of the character class [^map]
> > 
> > Tested and shown to be working on the ip_frag patch set provided by
> > doucette at bu.edu
> > 
> > Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
> > CC: thomas at monjalon.net
> > CC: doucette at bu.edu
> > Reported-by: doucette at bu.edu
> 
> You could use these lines:
> 
> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> 
> Reported-by: Cody Doucette <doucette at bu.edu>
> 
I'm fine with the second line, and the first is fine I guess, but I'm not sure
there is an exact correlation

> > --- a/devtools/check-symbol-change.sh
> > +++ b/devtools/check-symbol-change.sh
> > -		/[-+] a\/.*\.^(map)/ {in_map=0}
> > +		/[-+] a\/.*\.[^map]/ {in_map=0}
> 
> Not sure this is what you intend:
> [^map] means any character except "m", "a" and "p".
> 
Its not 100%, but its pretty close.  The regex for exact matching on not a
specific string is pretty large and complex.  Since we have no files that that
end in .m .a or .p, this should give us what we want for the forseeable future.

> I don't know whether awk supports this syntax: (?!foo)
> 
It unfortunately doesn't, thats perl syntax, and while grep I think supports it,
awk is more strictly posix compliant.

Neil

> 
> 


More information about the dev mailing list