DPDK patches and discussions
 help / color / Atom feed
* [dpdk-dev] Build with coverage fail on rte_flow_dynf_metadata_offs is not flagged as experimental
@ 2019-11-23 10:23 Andrew Rybchenko
  2019-11-24 20:18 ` David Marchand
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Rybchenko @ 2019-11-23 10:23 UTC (permalink / raw)
  To: Raslan Darawsheh; +Cc: dev, Olivier Matz, Thomas Monjalon, Ferruh Yigit

Hi,

I've failed to quickly make a patch to fix it.

make config T=x86_64-native-linux-gcc O=build_coverage
make -j8 EXTRA_CFLAGS='-ggdb --coverage' EXTRA_LDFLAGS=-lgcov

results in

...
   CC ethdev_private.o
   CC rte_ethdev.o
   CC rte_class_eth.o
   CC rte_flow.o
   CC rte_tm.o
   CC rte_mtr.o
   CC ethdev_profile.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
/home/arybchik/src/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for 
target 'rte_flow.o' failed
make[4]: *** [rte_flow.o] Error 1

I've manually reproduced it using gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
but seen it on many different distros.

Andrew.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] Build with coverage fail on rte_flow_dynf_metadata_offs is not flagged as experimental
  2019-11-23 10:23 [dpdk-dev] Build with coverage fail on rte_flow_dynf_metadata_offs is not flagged as experimental Andrew Rybchenko
@ 2019-11-24 20:18 ` David Marchand
  2019-11-25 16:19   ` David Marchand
  0 siblings, 1 reply; 3+ messages in thread
From: David Marchand @ 2019-11-24 20:18 UTC (permalink / raw)
  To: Neil Horman
  Cc: dev, Olivier Matz, Thomas Monjalon, Ferruh Yigit,
	Andrew Rybchenko, Raslan Darawsheh

On Sat, Nov 23, 2019 at 11:24 AM Andrew Rybchenko
<arybchenko@solarflare.com> wrote:
>
> Hi,
>
> I've failed to quickly make a patch to fix it.
>
> make config T=x86_64-native-linux-gcc O=build_coverage
> make -j8 EXTRA_CFLAGS='-ggdb --coverage' EXTRA_LDFLAGS=-lgcov
>
> results in
>
> ...
>    CC ethdev_private.o
>    CC rte_ethdev.o
>    CC rte_class_eth.o
>    CC rte_flow.o
>    CC rte_tm.o
>    CC rte_mtr.o
>    CC ethdev_profile.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
> /home/arybchik/src/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for
> target 'rte_flow.o' failed
> make[4]: *** [rte_flow.o] Error 1
>
> I've manually reproduced it using gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
> but seen it on many different distros.

Oh, good catch.

We have a problem in the check script and maybe in the experimental tag.

- This rte_flow_dynf_metadata_offs symbol is in .data but gets an
associated symbol (seen with rhel7 gcc):
$ objdump -t master/build/lib/librte_ethdev/rte_flow.o |grep
rte_flow_dynf_metadata_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

The script noticed the symbol in text and is complaining about not
seeing it in text.experimental.
But well, this is a bug as we did not protect for expansion in:
if grep -q "\.text.*$SYM$" $DUMPFILE &&
        ! grep -q "\.text\.experimental.*$SYM$" $DUMPFILE

I suppose this would do the trick:
if grep -q "\.text.*[[:space:]]$SYM$" $DUMPFILE &&
        ! grep -q "\.text\.experimental.*[[:space:]]$SYM$" $DUMPFILE


- I don't think variables were considered in the rte_experimental
framework: seeing the __rte_experimental macro, I doubt it would work
for variables to be put in .text.
Do we need a different marker for those? or did I miss something else?
Neil?


Think we will have to live with this in 19.11...


-- 
David Marchand


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] Build with coverage fail on rte_flow_dynf_metadata_offs is not flagged as experimental
  2019-11-24 20:18 ` David Marchand
@ 2019-11-25 16:19   ` David Marchand
  0 siblings, 0 replies; 3+ messages in thread
From: David Marchand @ 2019-11-25 16:19 UTC (permalink / raw)
  To: Neil Horman, Thomas Monjalon
  Cc: dev, Olivier Matz, Ferruh Yigit, Andrew Rybchenko, Raslan Darawsheh

On Sun, Nov 24, 2019 at 9:18 PM David Marchand
<david.marchand@redhat.com> wrote:
> - I don't think variables were considered in the rte_experimental
> framework: seeing the __rte_experimental macro, I doubt it would work
> for variables to be put in .text.
> Do we need a different marker for those? or did I miss something else?
> Neil?
>

Sent a RFC: https://patchwork.dpdk.org/patch/63290/
We can discuss in this new thread.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-23 10:23 [dpdk-dev] Build with coverage fail on rte_flow_dynf_metadata_offs is not flagged as experimental Andrew Rybchenko
2019-11-24 20:18 ` David Marchand
2019-11-25 16:19   ` David Marchand

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox