[dpdk-dev] [dpdk-stable] [EXT] Re: [PATCH] devtools: fix check symbol change script

David Marchand david.marchand at redhat.com
Mon Mar 23 10:30:45 CET 2020


On Mon, Mar 23, 2020 at 10:28 AM Nithin Dabilpuram
<ndabilpuram at marvell.com> wrote:
> On Mon, Mar 23, 2020 at 09:13:22AM +0100, David Marchand wrote:
> > ----------------------------------------------------------------------
> > On Thu, Mar 19, 2020 at 3:44 PM Nithin Dabilpuram
> > <ndabilpuram at marvell.com> wrote:
> > > diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> > > index c5434f3..19ce82f 100755
> > > --- a/devtools/check-symbol-change.sh
> > > +++ b/devtools/check-symbol-change.sh
> > > @@ -17,13 +17,13 @@ build_map_changes()
> > >                 # map files are altered, and all section/symbol names
> > >                 # appearing between a triggering of this rule and the
> > >                 # next trigger of this rule are associated with this file
> > > -               /[-+] a\/.*\.map/ {map=$2; in_map=1}
> > > +               /[-+] [ab]\/.*\.map/ {map=$2; in_map=1}
> > >
> > >                 # Same pattern as above, only it matches on anything that
> > >                 # 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}
> > > +               /[-+] [ab]\/.*\.[^map]/ {in_map=0}
> >
> > [^map] does not mean "not word map" but actually "none of the
> > character m, a or p".
> >
> > So potentially, any file extension starting with m, a or p could
> > trigger an issue.
> > For example, a change in .mk files, .py files and
> > ./devtools/check-forbidden-tokens.awk ./devtools/libabigail.abignore
> > could lead to incorrect symbol check.
> >
> > How about the following change:
> >
> > diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> > index c5434f3bb0..ed2178e36e 100755
> > --- a/devtools/check-symbol-change.sh
> > +++ b/devtools/check-symbol-change.sh
> > @@ -17,13 +17,11 @@ build_map_changes()
> >                 # map files are altered, and all section/symbol names
> >                 # appearing between a triggering of this rule and the
> >                 # next trigger of this rule are associated with this file
> > -               /[-+] a\/.*\.map/ {map=$2; in_map=1}
> > +               /[-+] [ab]\/.*\.map/ {map=$2; in_map=1; next}
> >
> > -               # Same pattern as above, only it matches on anything that
> > -               # 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}
> > +               # The previous rule catches all .map files, anything else
> > +               # indicates we left the map chunk.
> > +               /[-+] [ab]\// {in_map=0}
> >
> >                 # Triggering this rule, which starts a line and ends it
> >                 # with a { identifies a versioned section.  The section name is
> >
> >
>
> Agreed. I tested and it works fine for me. I can send a V2 with this change if it is fine.

Sure, thanks!


-- 
David Marchand



More information about the dev mailing list