On Mon, Dec 23, 2024 at 12:46:34PM +0100, David Marchand wrote: > On Mon, Dec 23, 2024 at 12:03 PM David Marchand > <david.march...@redhat.com> wrote: > > > v6: > > > * replace __rte_msvc_pack with __rte_packed_begin > > > * replace __rte_packed with __rte_packed_end > > > * update checkpatches.sh to ensure __rte_packed_begin and > > > __rte_packed_end are used in pairs > > > > I had mentionned this in a separate thread. > > Why not do like OVS and have a RTE_PACKED() macro? > > > > #ifdef RTE_TOOLCHAIN_MSVC > > #define RTE_PACKED(...) __pragma(pack(push, 1)) __VA_ARGS__ > > __pragma(pack(pop)) > > #else > > #define RTE_PACKED(...) __VA_ARGS__ __attribute__((__packed__)) > > #endif > > Mm, in practice, this would be problematic with struct where > endianness matters (for example). > > In file included from ../../../git/pub/dpdk.org/main/lib/net/rte_ip.h:9, > from ../../../git/pub/dpdk.org/main/lib/ethdev/rte_flow.h:25, > from > ../../../git/pub/dpdk.org/main/lib/ethdev/rte_eth_ctrl.h:11, > from > ../../../git/pub/dpdk.org/main/lib/ethdev/rte_ethdev.h:1472, > from > ../../../git/pub/dpdk.org/main/lib/ethdev/ethdev_driver.h:21, > from > ../../../git/pub/dpdk.org/main/drivers/net/failsafe/failsafe_ops.c:15: > ../../../git/pub/dpdk.org/main/lib/net/rte_ip4.h:48:1: error: > embedding a directive within macro arguments is not portable [-Werror] > 48 | #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN > | ^ > ../../../git/pub/dpdk.org/main/lib/net/rte_ip4.h:51:1: error: > embedding a directive within macro arguments is not portable [-Werror] > 51 | #elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN > | ^ > ../../../git/pub/dpdk.org/main/lib/net/rte_ip4.h:54:1: error: > embedding a directive within macro arguments is not portable [-Werror] > 54 | #endif > | ^ > > > > > > This removes the need for updating checkpatch. > > Plus, builds on Linux will catch issues (hopefully by the author of > > the change, before submitting). > > > > > > > * remove __rte_packed > > > > Please mark it deprecated for now (see RTE_DEPRECATED / add a > > deprecation notice) and we will remove it in 25.11. > > Still, please rework this part. > > > -- > David Marchand
Yes, I'll send out an updated series shortly. -- Andre Muezerie