On Thu, Mar 19, 2020 at 03:56:03PM +0100, David Marchand wrote: > On Thu, Mar 19, 2020 at 3:44 PM Nithin Dabilpuram > <ndabilpu...@marvell.com> wrote: > > > > Fix check symbol change script to detect new diff file when > > it is in between "--- /dev/null" to "b/lib/...". > > Current awk line expects line to start with "a/..." > > which is not always true for all diffs. > > As a result if in_map was '1' earlier, it will not be changed > > to '0' and we get check patch errors which are not true as the non > > version.map files get interpreted as version map file. > > > > Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition") > > Cc: nhor...@tuxdriver.com > > Cc: sta...@dpdk.org > > There was a previous attempt at fixing this that did not get a review. > http://patchwork.dpdk.org/patch/56303/ > > I prefer the last submitted patch as it is simpler, but maybe I missed > something in Bing patch. > > Neil, wdyt? > I'm not sure why I didn't review the previous patch you refrenced, apologies for that.
That said, I'm not sure how this patch detects /dev/null patterns. It looks like you still expect all lines to start with [+-] [ab]... Neil > > -- > David Marchand > > > > > > Signed-off-by: Nithin Dabilpuram <ndabilpu...@marvell.com> > > --- > > Note: We have two examples where checkpatch errors are because of this > > because the version.map file change comes earlier in the diff. Because of > > this bug, any new file change that comes after version.map file diff > > as "/dev/null" to "b/.." gets misdetected as version.map file. > > * http://patches.dpdk.org/patch/66878/ > > * https://patchwork.dpdk.org/patch/66900/ > > devtools/check-symbol-change.sh | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > 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} > > > > # Triggering this rule, which starts a line and ends it > > # with a { identifies a versioned section. The section > > name is > > -- > > 2.8.4 > > > >