[dpdk-stable] patch 'net/mlx4: fix build with -fno-common' has been queued to LTS release 18.11.9
Kevin Traynor
ktraynor at redhat.com
Thu May 28 18:23:04 CEST 2020
Hi,
FYI, your patch has been queued to LTS release 18.11.9
Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/03/20. So please
shout if anyone has objections.
Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.
Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue
This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f808ec01666ecaad192730349ebb5080bdac5967
Thanks.
Kevin.
---
>From f808ec01666ecaad192730349ebb5080bdac5967 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Wed, 8 Apr 2020 02:09:00 +0200
Subject: [PATCH] net/mlx4: fix build with -fno-common
[ upstream commit a5e5af7f20b4106b68eeedf83daada0371b83918 ]
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.
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Matan Azrad <matan at mellanox.com>
---
drivers/net/mlx4/mlx4.c | 4 ++++
drivers/net/mlx4/mlx4_glue.h | 2 +-
drivers/net/mlx4/mlx4_rxtx.h | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index 4428edf108..975df9b747 100644
--- a/drivers/net/mlx4/mlx4.c
+++ b/drivers/net/mlx4/mlx4.c
@@ -49,4 +49,8 @@
#include "mlx4_utils.h"
+#ifdef MLX4_GLUE
+const struct mlx4_glue *mlx4_glue;
+#endif
+
struct mlx4_dev_list mlx4_mem_event_cb_list =
LIST_HEAD_INITIALIZER(mlx4_mem_event_cb_list);
diff --git a/drivers/net/mlx4/mlx4_glue.h b/drivers/net/mlx4/mlx4_glue.h
index 668ca86700..5d9e985495 100644
--- a/drivers/net/mlx4/mlx4_glue.h
+++ b/drivers/net/mlx4/mlx4_glue.h
@@ -85,5 +85,5 @@ struct mlx4_glue {
};
-const struct mlx4_glue *mlx4_glue;
+extern const struct mlx4_glue *mlx4_glue;
#endif /* MLX4_GLUE_H_ */
diff --git a/drivers/net/mlx4/mlx4_rxtx.h b/drivers/net/mlx4/mlx4_rxtx.h
index 29389f1ea7..baf0cd73a8 100644
--- a/drivers/net/mlx4/mlx4_rxtx.h
+++ b/drivers/net/mlx4/mlx4_rxtx.h
@@ -121,5 +121,5 @@ struct txq {
/* mlx4_rxq.c */
-uint8_t mlx4_rss_hash_key_default[MLX4_RSS_HASH_KEY_SIZE];
+extern uint8_t mlx4_rss_hash_key_default[MLX4_RSS_HASH_KEY_SIZE];
int mlx4_rss_init(struct mlx4_priv *priv);
void mlx4_rss_deinit(struct mlx4_priv *priv);
--
2.21.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2020-05-28 17:13:03.096657826 +0100
+++ 0077-net-mlx4-fix-build-with-fno-common.patch 2020-05-28 17:12:59.161555043 +0100
@@ -1 +1 @@
-From a5e5af7f20b4106b68eeedf83daada0371b83918 Mon Sep 17 00:00:00 2001
+From f808ec01666ecaad192730349ebb5080bdac5967 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a5e5af7f20b4106b68eeedf83daada0371b83918 ]
+
@@ -20,2 +21,0 @@
-Cc: stable at dpdk.org
-
@@ -31 +31 @@
-index 8e298788af..5d7202720b 100644
+index 4428edf108..975df9b747 100644
@@ -34 +34 @@
-@@ -50,4 +50,8 @@
+@@ -49,4 +49,8 @@
@@ -41,2 +41,2 @@
- static const char *MZ_MLX4_PMD_SHARED_DATA = "mlx4_pmd_shared_data";
-
+ struct mlx4_dev_list mlx4_mem_event_cb_list =
+ LIST_HEAD_INITIALIZER(mlx4_mem_event_cb_list);
@@ -55 +55 @@
-index 8baf33fa94..9de6c59411 100644
+index 29389f1ea7..baf0cd73a8 100644
@@ -58 +58 @@
-@@ -125,5 +125,5 @@ struct txq {
+@@ -121,5 +121,5 @@ struct txq {
More information about the stable
mailing list