[dpdk-dev] [PATCH v2] devtools: rework abi checker script
Olivier MATZ
olivier.matz at 6wind.com
Mon Sep 11 10:18:04 CEST 2017
Hello Neil,
On Fri, Sep 08, 2017 at 09:46:49AM -0400, Neil Horman wrote:
> On Wed, Sep 06, 2017 at 04:51:01PM +0200, Olivier Matz wrote:
> > The intiatial 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 <olivier.matz at 6wind.com>
> > ---
> >
> > v1->v2:
> > - use /usr/bin/env to find bash (which is required)
> > - fix displayed path to html reports
> > - reword help for -f option
> >
> This still doesn't seem to work. Running the following:
> ./validate-abi.sh v17.05 v17.08
>
> produces no report, and the end of the abi-check.log file contains:
>
> [nhorman at hmswarspite abi-check]$ tail -n 10 ./abi-check.log
> CMD: abi-dumper librte_vhost.so -o /home/nhorman/git/dpdk/devtools/abi-check/222555480/librte_vhost.so.dump -lver 222555480
> Reading debug-info
> WARNING: incompatible build option detected: -O0 (required -Og for better analysis)
> Creating ABI dump
>
> The object ABI has been dumped to:
> /home/nhorman/git/dpdk/devtools/abi-check/222555480/librte_vhost.so.dump
> CMD: cd ../..
> CMD: git clone ./.. /home/nhorman/git/dpdk/devtools/abi-check/02657b4ad
> fatal: repository './..' does not exist
>
> The warning I assume should be fixed to, but the second clone failing seems to
> be the most salient bit here
Thanks for testing. The script was not behaving well when not started
from dpdk root dir. It's fixed, I'm sending a v3.
I changed the -O0 into -Og, and I also had to append -Wno-error because the
compilation fails with -Og (variable may be used uninitialized). I'll send
another patch to fix it.
Some warnings are still displayed: these are false positive from abi-dumper.
The compilation flags are "[...] -O3 [...] -Og [...]". The second -O switch
overrides the first one, but it is not properly detected. It could be
workarounded by setting a global optimization level (which does not exist yet)
instead of overring it through EXTRA_CFLAGS.
Olivier
More information about the dev
mailing list