[PATCH v2 3/4] net/mlx5: remove weak stub functions
Thomas Monjalon
thomas at monjalon.net
Tue Jan 24 15:42:27 CET 2023
23/01/2023 20:42, Dmitry Kozlyuk:
> 2023-01-12 21:37 (UTC+0100), Thomas Monjalon:
> > The vector Rx functions are conditionally compiled.
> > Some stub functions were also always compiled with weak attribute.
> > If there is no vector support, the weak functions were linked.
> >
> > These weak functions are moved in a specific file
> > which is compiled only if there is no vector support.
> > This way it is simpler to understand,
> > and the weak attributes can be removed.
> >
> > This change helps to compile with MinGW GCC
> > which has no support for weak functions.
> >
> > Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> > ---
> > drivers/net/mlx5/meson.build | 13 +++++----
> > drivers/net/mlx5/mlx5_rx.c | 35 ------------------------
> > drivers/net/mlx5/mlx5_rxtx_vec_null.c | 38 +++++++++++++++++++++++++++
> > 3 files changed, 46 insertions(+), 40 deletions(-)
> > create mode 100644 drivers/net/mlx5/mlx5_rxtx_vec_null.c
> >
> > diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
> > index abd507bd88..dba911693e 100644
> > --- a/drivers/net/mlx5/meson.build
> > +++ b/drivers/net/mlx5/meson.build
> > @@ -49,11 +49,14 @@ if is_linux
> > 'mlx5_hws_cnt.c',
> > 'mlx5_flow_verbs.c',
> > )
> > - if (dpdk_conf.has('RTE_ARCH_X86_64')
> > - or dpdk_conf.has('RTE_ARCH_ARM64')
> > - or dpdk_conf.has('RTE_ARCH_PPC_64'))
> > - sources += files('mlx5_rxtx_vec.c')
> > - endif
> > +endif
> > +
> > +if is_linux and (dpdk_conf.has('RTE_ARCH_X86_64')
> > + or dpdk_conf.has('RTE_ARCH_ARM64')
> > + or dpdk_conf.has('RTE_ARCH_PPC_64'))
> > + sources += files('mlx5_rxtx_vec.c')
> > +else
> > + sources += files('mlx5_rxtx_vec_null.c')
> > endif
>
> Can "is_linux" be dropped now?
> I suspect that vector routines were compiled only for Linux
> to prevent linker errors from both weak and non-weak symbols present,
> not because vector code is somehow Linux-specific.
Maybe but we should enable vector routines on Windows in a separate patch.
More information about the dev
mailing list