From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id 7FD3E2B99 for ; Mon, 25 Sep 2017 13:21:32 +0200 (CEST) Received: from [107.15.66.59] (helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1dwRRt-00039m-B1; Mon, 25 Sep 2017 07:21:30 -0400 Date: Mon, 25 Sep 2017 07:21:11 -0400 From: Neil Horman To: Olivier MATZ Cc: dev@dpdk.org, bruce.richardson@intel.com Message-ID: <20170925112111.GA3425@hmswarspite.think-freely.org> References: <20170911084635.11707-1-olivier.matz@6wind.com> <20170920091253.15794-1-olivier.matz@6wind.com> <20170921154035.GB3389@hmswarspite.think-freely.org> <20170925091119.ouy62fyeewxatbav@platinum> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170925091119.ouy62fyeewxatbav@platinum> User-Agent: Mutt/1.8.3 (2017-05-23) X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: Re: [dpdk-dev] [PATCH v4] devtools: rework abi checker script X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Sep 2017 11:21:32 -0000 On Mon, Sep 25, 2017 at 11:11:20AM +0200, Olivier MATZ wrote: > On Thu, Sep 21, 2017 at 11:40:35AM -0400, Neil Horman wrote: > > On Wed, Sep 20, 2017 at 11:12:53AM +0200, Olivier Matz wrote: > > > The initial version of the script had some limitations: > > > - cannot work on a non-clean workspace > > > - environment variables are not documented > > > - no compilation log in case of failure > > > - return success even it abi is incompatible > > > > > > This patch addresses these issues and rework the code. > > > > > > Signed-off-by: Olivier Matz > > > --- > > > > > > v3->v4: > > > - clarify logs on incompatible abi > > > - log when an error returned an error > > > - [really] fix the report path > > > - log the output of make config in the proper file > > > > > > v2->v3: > > > - fix when not launched from dpdk root dir > > > - use "-Og -Wno-error" instead of "-O0" > > > - fix typo in commit log > > > > > > v1->v2: > > > - use /usr/bin/env to find bash (which is required) > > > - fix displayed path to html reports > > > - reword help for -f option > > > > > > > > > devtools/validate-abi.sh | 397 ++++++++++++++++++++++++----------------------- > > > 1 file changed, 205 insertions(+), 192 deletions(-) > > > > > This looks better, thank you for the iterations. One last note: The abi dumper > > utility errors out with error code of 12 if a given object has no exported > > symbols, and I see a few of those. You may want to consider catching that > > error, logging an appropriate message and skipping the error emit. That can be > > handled later though, as its a corner case. I'd go with this patch, and then > > do a incremental improvement later > > Unfortunately the error code 12 does not exist on my version of abi-dumper > (debian stable, v0.99.16). I'm currently doing this as a workaround: > > cmd $abidump ${i} -o $dst/${1}/${i}.dump -lver ${1} || true > # hack to ignore empty SymbolsInfo section (no public ABI) > if grep -q "'SymbolInfo' => {}," $dst/${1}/${i}.dump 2> /dev/null; then > log "INFO" "${i} has no public ABI, remove dump file" > cmd rm -f $dst/${1}/${i}.dump > fi > > I tested with the latest abi-dumper version, and I indeed see > these errors in the logs. It seems we don't go inside the 'if' > above with a recent abi-dumper, and the .dump file is not generated. > > I can add a check to display the same additional log > "INFO" "${i} has no public ABI, remove dump file" if abi-dumper > returns 12. Something like this: > > ret=0 > cmd $abidump ${i} -o $dst/${1}/${i}.dump -lver ${1} || ret=$? > # hack to ignore empty SymbolsInfo section (no public ABI) > if [ ${ret} = 12 ]; then > log "INFO" "${i} has no public ABI" > fi > if grep -q "'SymbolInfo' => {}," $dst/${1}/${i}.dump 2> /dev/null; then > log "INFO" "${i} has no public ABI, remove dump file" > cmd rm -f $dst/${1}/${i}.dump > fi > Agreed, that makes sense. Thanks. Neil > > Olivier >