[PATCH 1/3] bitops: fix build for GCC without experimental API
Morten Brørup
mb at smartsharesystems.com
Tue Oct 15 14:47:35 CEST 2024
> From: David Marchand [mailto:david.marchand at redhat.com]
> Sent: Tuesday, 15 October 2024 14.11
>
> Building OVS against current DPDK fails with following warnings:
>
> In file included from .../ovs/dpdk-dir/include/rte_memory.h:18,
> from .../ovs/dpdk-dir/include/rte_ring_core.h:29,
> from .../ovs/dpdk-dir/include/rte_ring.h:37,
> from .../ovs/dpdk-dir/include/rte_mempool.h:49,
> from .../ovs/dpdk-dir/include/rte_mbuf.h:38,
> from lib/dp-packet.h:25,
> from lib/ofp-packet.c:20:
> .../ovs/dpdk-dir/include/rte_bitops.h: In function
> ‘__rte_bit_assign32’:
> .../ovs/dpdk-dir/include/rte_bitops.h:528:1: error:
> ‘__rte_bit_set32’ is deprecated: Symbol is not yet part of
> stable ABI [-Werror=deprecated-declarations]
> ...
>
> This comes from the fact that some (experimental) inline helpers
> are calling other experimental API.
> Hide those calls.
Are you saying that the compiler warns if some experimental function calls another experimental function?
I understand the fix, so I am wondering about consistency:
Do we generally hide experimental functions if building without ALLOW_EXPERIMENTAL_API?
Or do we only do it to inline functions?
An alternative solution is copy-pasting the inlined implementations of the called experimental functions into the functions calling them.
I generally don't like copy-paste, so probably even worse.
Anyway, this is a viable fix, so
Acked-by: Morten Brørup <mb at smartsharesystems.com>
More information about the dev
mailing list