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.m...@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@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