[dpdk-dev] [PATCH 2/2] buildtools: fix build with coverage enabled

David Marchand david.marchand at redhat.com
Mon Nov 25 11:57:32 CET 2019


On Mon, Nov 25, 2019 at 9:29 AM Andrew Rybchenko
<arybchenko at solarflare.com> wrote:
>
> On 11/25/19 11:10 AM, David Marchand wrote:
> > A compiler can reuse a variable name and prefix it when instrumenting
> > with coverage.
> >
> > Example:
> > $ make defconfig T=x86_64-native-linux-gcc O=master
> > $ make EXTRA_CFLAGS='--coverage' O=master
> > [...]
> >     CC rte_flow.o
> >  rte_flow_dynf_metadata_offs is not flagged as experimental but is listed
> >  in version map
> >  Please add __rte_experimental to the definition of
> >  rte_flow_dynf_metadata_offs
> >
> > $ objdump -t master/build/lib/librte_ethdev/rte_flow.o |grep _offs$
> > 0000000000000000 l     F .text.startup        000000000000000a
> >   _GLOBAL__sub_I_65535_0_rte_flow_dynf_metadata_offs
> > 0000000000000620 g     O .data        0000000000000004
> >   rte_flow_dynf_metadata_offs
> >
> > Protect against this by adding a space character in the pattern.
> >
> > Fixes: a4bcd61de82d ("buildtools: add script to check experimental API exports")
> > Cc: stable at dpdk.org
> >
> > Reported-by: Andrew Rybchenko <arybchenko at solarflare.com>
> > Signed-off-by: David Marchand <david.marchand at redhat.com>
>
> David,
>
> thanks a lot, it solves build problem.
>
> It does not solve experimental symbol inconsistency problem in
> markup and map file, but it is a separate less critical
> problem.

We have lived with this situation on experimental variables.
So yes, the priority is to fix compilation.

I will see if you can do/need something about the variables.


Thanks for the tests Andrew.


-- 
David Marchand



More information about the dev mailing list