patch 'regexdev: fix section attribute of symbols' has been queued to stable release 20.11.5
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Wed Mar 9 17:30:42 CET 2022
Hi,
FYI, your patch has been queued to stable release 20.11.5
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/11/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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/7490d6d4d9f05da786cd003b1e3435833722a5d6
Thanks.
Luca Boccassi
---
>From 7490d6d4d9f05da786cd003b1e3435833722a5d6 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/librte_regexdev/rte_regexdev.h | 4 ++++
lib/librte_regexdev/rte_regexdev_driver.h | 3 +++
lib/librte_regexdev/version.map | 9 +++++++++
4 files changed, 20 insertions(+)
diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index 025f2c01bc..1414cdfba9 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -7,3 +7,7 @@
symbol_version = INTERNAL
[suppress_variable]
symbol_version = INTERNAL
+
+; Ignore section attribute fixes in experimental regexdev library
+[suppress_file]
+ soname_regexp = ^librte_regexdev\.
diff --git a/lib/librte_regexdev/rte_regexdev.h b/lib/librte_regexdev/rte_regexdev.h
index df2312678c..09d1718da9 100644
--- a/lib/librte_regexdev/rte_regexdev.h
+++ b/lib/librte_regexdev/rte_regexdev.h
@@ -228,6 +228,9 @@ extern int rte_regexdev_logtype;
} while (0)
/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
* Check if dev_id is ready.
*
* @param dev_id
@@ -237,6 +240,7 @@ extern int rte_regexdev_logtype;
* - 0 if device state is not in ready state.
* - 1 if device state is ready state.
*/
+__rte_experimental
int rte_regexdev_is_valid_dev(uint16_t dev_id);
/**
diff --git a/lib/librte_regexdev/rte_regexdev_driver.h b/lib/librte_regexdev/rte_regexdev_driver.h
index 64742016c0..6246b144a6 100644
--- a/lib/librte_regexdev/rte_regexdev_driver.h
+++ b/lib/librte_regexdev/rte_regexdev_driver.h
@@ -32,6 +32,7 @@ extern "C" {
* A pointer to the RegEx device slot case of success,
* NULL otherwise.
*/
+__rte_internal
struct rte_regexdev *rte_regexdev_register(const char *name);
/**
@@ -41,6 +42,7 @@ struct rte_regexdev *rte_regexdev_register(const char *name);
* @param dev
* Device to be released.
*/
+__rte_internal
void rte_regexdev_unregister(struct rte_regexdev *dev);
/**
@@ -50,6 +52,7 @@ void rte_regexdev_unregister(struct rte_regexdev *dev);
* @param name
* The device name.
*/
+__rte_internal
struct rte_regexdev *rte_regexdev_get_device_by_name(const char *name);
#ifdef __cplusplus
diff --git a/lib/librte_regexdev/version.map b/lib/librte_regexdev/version.map
index 8db9b17018..988b909638 100644
--- a/lib/librte_regexdev/version.map
+++ b/lib/librte_regexdev/version.map
@@ -1,6 +1,7 @@
EXPERIMENTAL {
global:
+ rte_regex_devices;
rte_regexdev_attr_get;
rte_regexdev_attr_set;
rte_regexdev_close;
@@ -11,6 +12,8 @@ EXPERIMENTAL {
rte_regexdev_enqueue_burst;
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;
rte_regexdev_rule_db_export;
@@ -24,3 +27,9 @@ EXPERIMENTAL {
rte_regexdev_xstats_names_get;
rte_regexdev_xstats_reset;
};
+
+INTERNAL {
+ rte_regexdev_get_device_by_name;
+ rte_regexdev_register;
+ rte_regexdev_unregister;
+};
--
2.30.2
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2022-03-09 16:30:09.473760116 +0000
+++ 0026-regexdev-fix-section-attribute-of-symbols.patch 2022-03-09 16:30:08.555025333 +0000
@@ -1 +1 @@
-From 89e290eb8ca99af9f7cfc3292d93860f8e672708 Mon Sep 17 00:00:00 2001
+From 7490d6d4d9f05da786cd003b1e3435833722a5d6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89e290eb8ca99af9f7cfc3292d93860f8e672708 ]
+
@@ -31 +32,0 @@
-Cc: stable at dpdk.org
@@ -36,4 +37,4 @@
- devtools/libabigail.abignore | 4 ++++
- lib/regexdev/rte_regexdev.h | 4 ++++
- lib/regexdev/rte_regexdev_driver.h | 3 +++
- lib/regexdev/version.map | 9 +++++++++
+ devtools/libabigail.abignore | 4 ++++
+ lib/librte_regexdev/rte_regexdev.h | 4 ++++
+ lib/librte_regexdev/rte_regexdev_driver.h | 3 +++
+ lib/librte_regexdev/version.map | 9 +++++++++
@@ -43 +44 @@
-index 9c921c47d4..18c11c80c6 100644
+index 025f2c01bc..1414cdfba9 100644
@@ -46,4 +47,5 @@
-@@ -25,6 +25,10 @@
- [suppress_type]
- name = rte_crypto_asym_op
-
+@@ -7,3 +7,7 @@
+ symbol_version = INTERNAL
+ [suppress_variable]
+ symbol_version = INTERNAL
++
@@ -53,9 +55,5 @@
-+
- ; Ignore changes in common mlx5 driver, should be all internal
- [suppress_file]
- soname_regexp = ^librte_common_mlx5\.
-diff --git a/lib/regexdev/rte_regexdev.h b/lib/regexdev/rte_regexdev.h
-index 4ba67b0c25..3bce8090f6 100644
---- a/lib/regexdev/rte_regexdev.h
-+++ b/lib/regexdev/rte_regexdev.h
-@@ -225,6 +225,9 @@ extern int rte_regexdev_logtype;
+diff --git a/lib/librte_regexdev/rte_regexdev.h b/lib/librte_regexdev/rte_regexdev.h
+index df2312678c..09d1718da9 100644
+--- a/lib/librte_regexdev/rte_regexdev.h
++++ b/lib/librte_regexdev/rte_regexdev.h
+@@ -228,6 +228,9 @@ extern int rte_regexdev_logtype;
@@ -71 +69 @@
-@@ -234,6 +237,7 @@ extern int rte_regexdev_logtype;
+@@ -237,6 +240,7 @@ extern int rte_regexdev_logtype;
@@ -79 +77 @@
-diff --git a/lib/regexdev/rte_regexdev_driver.h b/lib/regexdev/rte_regexdev_driver.h
+diff --git a/lib/librte_regexdev/rte_regexdev_driver.h b/lib/librte_regexdev/rte_regexdev_driver.h
@@ -81,2 +79,2 @@
---- a/lib/regexdev/rte_regexdev_driver.h
-+++ b/lib/regexdev/rte_regexdev_driver.h
+--- a/lib/librte_regexdev/rte_regexdev_driver.h
++++ b/lib/librte_regexdev/rte_regexdev_driver.h
@@ -107 +105 @@
-diff --git a/lib/regexdev/version.map b/lib/regexdev/version.map
+diff --git a/lib/librte_regexdev/version.map b/lib/librte_regexdev/version.map
@@ -109,2 +107,2 @@
---- a/lib/regexdev/version.map
-+++ b/lib/regexdev/version.map
+--- a/lib/librte_regexdev/version.map
++++ b/lib/librte_regexdev/version.map
More information about the stable
mailing list