patch 'regexdev: fix section attribute of symbols' has been queued to stable release 21.11.1

Kevin Traynor ktraynor at redhat.com
Thu Mar 10 13:11:24 CET 2022


Hi,

FYI, your patch has been queued to stable release 21.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/14/22. 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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/6e7f8939f23c2c8ed80602bc0d62990eebe52013

Thanks.

Kevin

---
>From 6e7f8939f23c2c8ed80602bc0d62990eebe52013 Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas at monjalon.net>
Date: Sun, 6 Mar 2022 10:20:22 +0100
Subject: [PATCH] regexdev: fix section attribute of symbols

[ upstream commit 89e290eb8ca99af9f7cfc3292d93860f8e672708 ]

The functions used by the drivers must be internal,
while the function and variables used in inline functions
must be experimental.

These are the changes done in the shared library:
- DF .text  Base          rte_regexdev_get_device_by_name
+ DF .text  INTERNAL      rte_regexdev_get_device_by_name
- DF .text  Base          rte_regexdev_register
+ DF .text  INTERNAL      rte_regexdev_register
- DF .text  Base          rte_regexdev_unregister
+ DF .text  INTERNAL      rte_regexdev_unregister
- DF .text  Base          rte_regexdev_is_valid_dev
+ DF .text  EXPERIMENTAL  rte_regexdev_is_valid_dev
- DO .bss   Base          rte_regex_devices
+ DO .bss   EXPERIMENTAL  rte_regex_devices
- DO .bss   Base          rte_regexdev_logtype
+ DO .bss   EXPERIMENTAL  rte_regexdev_logtype

Because these symbols were exported in the default section in DPDK 21.11,
any change in these functions would be seen as incompatible
by the ABI compatibility check.
An exception rule is added for this experimental library,
so the ABI check will skip it until the next ABI version.

Fixes: bab9497ef78b ("regexdev: introduce API")

Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Ori Kam <orika at nvidia.com>
---
 devtools/libabigail.abignore       | 4 ++++
 lib/regexdev/rte_regexdev.h        | 4 ++++
 lib/regexdev/rte_regexdev_driver.h | 3 +++
 lib/regexdev/version.map           | 9 +++++++++
 4 files changed, 20 insertions(+)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index 4b676f317d..e2724cb375 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -12,2 +12,6 @@
 [suppress_variable]
         name_regexp = _pmd_info$
+
+; Ignore section attribute fixes in experimental regexdev library
+[suppress_file]
+        soname_regexp = ^librte_regexdev\.
diff --git a/lib/regexdev/rte_regexdev.h b/lib/regexdev/rte_regexdev.h
index 0bac46cda9..513ce5b67c 100644
--- a/lib/regexdev/rte_regexdev.h
+++ b/lib/regexdev/rte_regexdev.h
@@ -229,4 +229,7 @@ extern int rte_regexdev_logtype;
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
  * Check if dev_id is ready.
  *
@@ -238,4 +241,5 @@ extern int rte_regexdev_logtype;
  *   - 1 if device state is ready state.
  */
+__rte_experimental
 int rte_regexdev_is_valid_dev(uint16_t dev_id);
 
diff --git a/lib/regexdev/rte_regexdev_driver.h b/lib/regexdev/rte_regexdev_driver.h
index 64742016c0..6246b144a6 100644
--- a/lib/regexdev/rte_regexdev_driver.h
+++ b/lib/regexdev/rte_regexdev_driver.h
@@ -33,4 +33,5 @@ extern "C" {
  *   NULL otherwise.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_register(const char *name);
 
@@ -42,4 +43,5 @@ struct rte_regexdev *rte_regexdev_register(const char *name);
  *   Device to be released.
  */
+__rte_internal
 void rte_regexdev_unregister(struct rte_regexdev *dev);
 
@@ -51,4 +53,5 @@ void rte_regexdev_unregister(struct rte_regexdev *dev);
  *   The device name.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_get_device_by_name(const char *name);
 
diff --git a/lib/regexdev/version.map b/lib/regexdev/version.map
index 8db9b17018..988b909638 100644
--- a/lib/regexdev/version.map
+++ b/lib/regexdev/version.map
@@ -2,4 +2,5 @@ EXPERIMENTAL {
 	global:
 
+	rte_regex_devices;
 	rte_regexdev_attr_get;
 	rte_regexdev_attr_set;
@@ -12,4 +13,6 @@ EXPERIMENTAL {
 	rte_regexdev_get_dev_id;
 	rte_regexdev_info_get;
+	rte_regexdev_is_valid_dev;
+	rte_regexdev_logtype;
 	rte_regexdev_queue_pair_setup;
 	rte_regexdev_rule_db_compile_activate;
@@ -25,2 +28,8 @@ EXPERIMENTAL {
 	rte_regexdev_xstats_reset;
 };
+
+INTERNAL {
+	rte_regexdev_get_device_by_name;
+	rte_regexdev_register;
+	rte_regexdev_unregister;
+};
-- 
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-03-10 12:05:31.943208581 +0000
+++ 0025-regexdev-fix-section-attribute-of-symbols.patch	2022-03-10 12:05:31.322630911 +0000
@@ -1 +1 @@
-From 89e290eb8ca99af9f7cfc3292d93860f8e672708 Mon Sep 17 00:00:00 2001
+From 6e7f8939f23c2c8ed80602bc0d62990eebe52013 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89e290eb8ca99af9f7cfc3292d93860f8e672708 ]
+
@@ -31 +32,0 @@
-Cc: stable at dpdk.org
@@ -43 +44 @@
-index 9c921c47d4..18c11c80c6 100644
+index 4b676f317d..e2724cb375 100644
@@ -46,3 +47,4 @@
-@@ -26,4 +26,8 @@
-         name = rte_crypto_asym_op
- 
+@@ -12,2 +12,6 @@
+ [suppress_variable]
+         name_regexp = _pmd_info$
++
@@ -52,3 +53,0 @@
-+
- ; Ignore changes in common mlx5 driver, should be all internal
- [suppress_file]
@@ -56 +55 @@
-index 4ba67b0c25..3bce8090f6 100644
+index 0bac46cda9..513ce5b67c 100644
@@ -59 +58 @@
-@@ -226,4 +226,7 @@ extern int rte_regexdev_logtype;
+@@ -229,4 +229,7 @@ extern int rte_regexdev_logtype;
@@ -67 +66 @@
-@@ -235,4 +238,5 @@ extern int rte_regexdev_logtype;
+@@ -238,4 +241,5 @@ extern int rte_regexdev_logtype;



More information about the stable mailing list