a5e5af7f20
The variable storages of the same name are merged together if compiled with -fcommon. This is the default. This default behaviour allows to declare a variable in a header file and share the variable in every .o binaries thanks to merge at link-time. In the case of dlopen linking of the glue library, the pointer mlx4_glue is referencing the glue functions struct and is set after calling dlopen. If compiling with -fno-common (default in GCC 10), the variables must be declared as extern to avoid multiple re-definitions. In case the glue layer is split in glue library, the variable mlx4_glue needs to have its own storage for the rest of the PMD. Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Matan Azrad <matan@mellanox.com> |
||
---|---|---|
.. | ||
Makefile | ||
meson.build | ||
mlx4_ethdev.c | ||
mlx4_flow.c | ||
mlx4_flow.h | ||
mlx4_glue.c | ||
mlx4_glue.h | ||
mlx4_intr.c | ||
mlx4_mp.c | ||
mlx4_mr.c | ||
mlx4_mr.h | ||
mlx4_prm.h | ||
mlx4_rxq.c | ||
mlx4_rxtx.c | ||
mlx4_rxtx.h | ||
mlx4_txq.c | ||
mlx4_utils.c | ||
mlx4_utils.h | ||
mlx4.c | ||
mlx4.h | ||
rte_pmd_mlx4_version.map |