[PATCH 1/1] build: revert moving unstable symbols from libnl_3 linker section

Thomas Haller thaller at redhat.com
Mon Mar 9 09:16:56 PDT 2015


In the past, libnl3 had only one section (libnl_3) in the
linker version script. Between 3.2.25 and 3.2.26 release,
this was cleaned up and new symbols were added to libnl_3_2_26
section. Commit d2a30fb also moved new symbols since 3.2.25
to that section.

Fedora 21 and later already uses these symbols in the previous
version (@libnl_3). Updating there would break symbol lookup.

As we have users of the unstable version from pre-3.2.26, move
those symbols back. Note that this now breaks unstable users since
d2a30fb (5 weeks ago) -- which probably are much fewer affected
users.

Fixes: d2a30fbb36d668fe64f43bddfc9c53ee0362334f

Signed-off-by: Thomas Haller <thaller at redhat.com>
---
 libnl-3.sym       |  8 ++++++--
 libnl-route-3.sym | 18 +++++++++++-------
 2 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/libnl-3.sym b/libnl-3.sym
index c8ef8a3..621bfe0 100644
--- a/libnl-3.sym
+++ b/libnl-3.sym
@@ -320,13 +320,17 @@ global:
 	nlmsg_total_size;
 	nlmsg_valid_hdr;
 	nlmsg_validate;
+
+	# The following symbols were added during the development of 3.2.26.
+	# Keep them in libnl_3 to avoid breaking users.
+	nl_cache_pickup_checkdup;
+	nl_pickup_keep_syserr;
+
 local:
 	*;
 };
 
 libnl_3_2_26 {
 global:
-	nl_cache_pickup_checkdup;
-	nl_pickup_keep_syserr;
 	nl_socket_set_fd;
 } libnl_3;
diff --git a/libnl-route-3.sym b/libnl-route-3.sym
index 139a499..03b7c4e 100644
--- a/libnl-route-3.sym
+++ b/libnl-route-3.sym
@@ -832,12 +832,9 @@ global:
 	rtnl_u32_set_hashmask;
 	rtnl_u32_set_hashtable;
 	rtnl_u32_set_link;
-local:
-	*;
-};
 
-libnl_3_2_26 {
-global:
+	# The following symbols were added during the development of 3.2.26.
+	# Keep them in libnl_3 to avoid breaking users.
 	rtnl_class_hfsc_get_fsc;
 	rtnl_class_hfsc_get_rsc;
 	rtnl_class_hfsc_get_usc;
@@ -852,6 +849,15 @@ global:
 	rtnl_link_inet6_str2addrgenmode;
 	rtnl_qdisc_hfsc_get_defcls;
 	rtnl_qdisc_hfsc_set_defcls;
+	rtnl_u32_add_mark;
+	rtnl_u32_del_mark;
+
+local:
+	*;
+};
+
+libnl_3_2_26 {
+global:
 	rtnl_skbedit_get_action;
 	rtnl_skbedit_get_mark;
 	rtnl_skbedit_get_priority;
@@ -862,7 +868,5 @@ global:
 	rtnl_skbedit_set_queue_mapping;
 	rtnl_tc_stat2str;
 	rtnl_tc_str2stat;
-	rtnl_u32_add_mark;
-	rtnl_u32_del_mark;
 	rtnl_u32_get_classid;
 } libnl_3;
-- 
1.9.3




More information about the libnl mailing list