From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 1AC4B2F7D for ; Mon, 25 Sep 2017 11:11:32 +0200 (CEST) Received: from lfbn-lil-1-182-75.w90-45.abo.wanadoo.fr ([90.45.31.75] helo=droids-corp.org) by mail.droids-corp.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dwPVm-0003iU-8b; Mon, 25 Sep 2017 11:17:11 +0200 Received: by droids-corp.org (sSMTP sendmail emulation); Mon, 25 Sep 2017 11:11:20 +0200 Date: Mon, 25 Sep 2017 11:11:20 +0200 From: Olivier MATZ To: Neil Horman Cc: dev@dpdk.org, bruce.richardson@intel.com Message-ID: <20170925091119.ouy62fyeewxatbav@platinum> References: <20170911084635.11707-1-olivier.matz@6wind.com> <20170920091253.15794-1-olivier.matz@6wind.com> <20170921154035.GB3389@hmswarspite.think-freely.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170921154035.GB3389@hmswarspite.think-freely.org> User-Agent: NeoMutt/20170113 (1.7.2) 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 09:11:33 -0000 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 Olivier