From 2c346ba094fda88a261b5160125a198b47fbd546 Mon Sep 17 00:00:00 2001 From: Peter Hanecak Date: Jun 05 2022 09:08:46 +0000 Subject: [PATCH 1/2] Updated to 1.0.19 Patches dropped since changes are now incorporated in the upstream --- diff --git a/.gitignore b/.gitignore index be1df3f..277d9e0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ lksctp-tools-1.0.11.tar.gz /lksctp-tools-1.0.15.tar.gz /lksctp-tools-1.0.16.tar.gz /lksctp-tools-1.0.18.tar.gz +/lksctp-tools-1.0.19.tar.gz diff --git a/lksctp-tools.spec b/lksctp-tools.spec index b116f77..b436c6f 100644 --- a/lksctp-tools.spec +++ b/lksctp-tools.spec @@ -1,22 +1,13 @@ Name: lksctp-tools Summary: User-space access to Linux Kernel SCTP -Version: 1.0.18 -Release: 12%{?dist} +Version: 1.0.19 +Release: 1%{?dist} # src/apps/bindx_test.C is GPLv2, I've asked upstream for clarification License: GPLv2 and GPLv2+ and LGPLv2 and MIT Group: System Environment/Libraries URL: http://lksctp.sourceforge.net Source0: https://github.com/sctp/lksctp-tools/archive/%{name}-%{version}.tar.gz -Patch0: lksctp-tools-1.0.16-libdir.patch -Patch1: lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch -Patch2: lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch -Patch3: lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch -Patch4: lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch -Patch5: lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch -Patch6: lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch -Patch7: lksctp-tools-symver.patch -Patch8: lksctp-tools-1.0.18-autoconf_2_70.patch BuildRequires: libtool, automake, autoconf, make %description @@ -51,15 +42,6 @@ Drafts). %prep %setup -q -n %{name}-%{name}-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 %build [ ! -x ./configure ] && sh bootstrap @@ -96,6 +78,10 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -delete %doc doc/*.txt %changelog +* Sun Jun 5 2022 Peter Hanecak - 1.0.19-1 +- Updated to 1.0.19 +- Patches dropped since changes are now incorporated in the upstream + * Thu Jan 20 2022 Fedora Release Engineering - 1.0.18-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index cfaf9b1..0820490 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lksctp-tools-1.0.18.tar.gz) = a47dbdf5082ce056c3749237ab83889a134f30b3b4a4c66701fa8c6dc955cf06a1f406677320e6e3535d4e635a89344b67ee461991a10a95460ea191cf5b71f6 +SHA512 (lksctp-tools-1.0.19.tar.gz) = dc4b3e4cc7e7b0348e4a71297154cf25cb11b583832220281807d90a9f65a24003a8bc2a8c30f1d5d22bf9c182a877c955fb87d5c318e4bb7ad52557628db16b From d534ac56eea72569bc28c6f09f14078e1c08e77d Mon Sep 17 00:00:00 2001 From: Peter Hanecak Date: Jun 05 2022 09:15:12 +0000 Subject: [PATCH 2/2] Patches dropped since changes are now incorporated in the upstream --- diff --git a/lksctp-tools-1.0.16-libdir.patch b/lksctp-tools-1.0.16-libdir.patch deleted file mode 100644 index c90356d..0000000 --- a/lksctp-tools-1.0.16-libdir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- lksctp-tools-1.0.16/src/withsctp/withsctp.in.orig 2014-02-18 10:42:49.000000000 +0000 -+++ lksctp-tools-1.0.16/src/withsctp/withsctp.in 2014-05-06 12:24:12.931873787 +0100 -@@ -1,6 +1,6 @@ - #!/bin/sh - # -*- sh -*- --LIBDIR=@libdir@/@PACKAGE@ -+LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@ - BINDIR=@bindir@ - export LD_PRELOAD=${LIBDIR}/libwithsctp.so.1.0.17 - if ! ${BINDIR}/checksctp 2> /dev/null diff --git a/lksctp-tools-1.0.18-autoconf_2_70.patch b/lksctp-tools-1.0.18-autoconf_2_70.patch deleted file mode 100644 index fa7b419..0000000 --- a/lksctp-tools-1.0.18-autoconf_2_70.patch +++ /dev/null @@ -1,82 +0,0 @@ -From d6d7130f0a2e3b81880fca29966e42c1b2be40a7 Mon Sep 17 00:00:00 2001 -From: Sergei Trofimovich -Date: Fri, 8 Jan 2021 22:22:52 +0000 -Subject: [PATCH] m4/sctp.m4: make conpatible to autoconf-2.70 - -On recently released `autoconf-2.70` generated `./configure` -fails as: - -``` -$ ./configure -... -checking for struct sctp_event_subscribe.sctp_stream_reset_event... yes -checking for gcc options needed to detect all undeclared functions... none needed -./configure: line 16464: syntax error: unexpected end of file -``` - -This happens becuase new autoconf generates less whitespace: - -``` -{ -if ... -... -fi} -``` - -It requires at least whitespace between `fi` and `}`. - -As input already has newlines the change just drops extra `{}`. - -Tested on `autoconf-2.69` and `autoconf-2.70`. - -Signed-off-by: Sergei Trofimovich -Signed-off-by: Marcelo Ricardo Leitner ---- - m4/sctp.m4 | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/m4/sctp.m4 b/m4/sctp.m4 -index 6593517..94527a6 100644 ---- a/m4/sctp.m4 -+++ b/m4/sctp.m4 -@@ -6,7 +6,7 @@ - - # Macros to assist on probing kernel features - # Probes if a type is defined --AC_DEFUN([LKSCTP_CHECK_TYPE], [{ -+AC_DEFUN([LKSCTP_CHECK_TYPE], [ - AC_CHECK_TYPE([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -22,10 +22,10 @@ AC_CHECK_TYPE([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) - - # Probes if a struct has a given member --AC_DEFUN([LKSCTP_CHECK_MEMBER], [{ -+AC_DEFUN([LKSCTP_CHECK_MEMBER], [ - AC_CHECK_MEMBER([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -41,10 +41,10 @@ AC_CHECK_MEMBER([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) - - # Probes if a declaration is present --AC_DEFUN([LKSCTP_CHECK_DECL], [{ -+AC_DEFUN([LKSCTP_CHECK_DECL], [ - AC_CHECK_DECL([$1], - AC_DEFINE([$2], 1, - [Define if $1 is present.]) -@@ -60,4 +60,4 @@ AC_CHECK_DECL([$1], - #ifdef HAVE_LINUX_SCTP_H - # include - #endif --])}]) -+])]) diff --git a/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch b/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch deleted file mode 100644 index d824fcd..0000000 --- a/lksctp-tools-1.0.18-build-0b0dce7a36fb-actually-belongs-to-v4.19.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e5952a0cdfa8b1b56a5823574835f1f771f14ae0 Mon Sep 17 00:00:00 2001 -From: Marcelo Ricardo Leitner -Date: Fri, 24 Aug 2018 09:53:00 -0300 -Subject: [PATCH 3/3] build: 0b0dce7a36fb actually belongs to v4.19 - -Typo or not, this commit actually belongs to v4.19 and made me wonder why -on v4.18 it didn't find this feature. - -Fixes: 817f0bfa248f ("build: add two defines for Peer Address Parameters extensions on sctp_paddrparams") -Signed-off-by: Marcelo Ricardo Leitner -Reviewed-by: Xin Long ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index f55775a..5de5c76 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -101,7 +101,7 @@ LKSCTP_CHECK_TYPE([struct sctp_prinfo], [HAVE_SCTP_SENDV]) - # added on v4.16, 30f6ebf65bc4 - LKSCTP_CHECK_DECL([SCTP_AUTH_NO_AUTH], [HAVE_SCTP_AUTH_NO_AUTH]) - --# New members to sctp_paddrparams, added on v4.18, 0b0dce7a36fb -+# New members to sctp_paddrparams, added on v4.19, 0b0dce7a36fb - LKSCTP_CHECK_MEMBER([struct sctp_paddrparams.spp_ipv6_flowlabel], - [HAVE_SCTP_SPP_IPV6_FLOWLABEL]) - LKSCTP_CHECK_MEMBER([struct sctp_paddrparams.spp_dscp], --- -1.8.3.1 - diff --git a/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch b/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch deleted file mode 100644 index 48c61db..0000000 --- a/lksctp-tools-1.0.18-build-fix-netinet-sctp.h-not-to-be-installed.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001 -From: Xin Long -Date: Fri, 24 Aug 2018 01:13:32 +0800 -Subject: [PATCH] build: fix netinet/sctp.h not to be installed - -After libcnetinet_HEADERS was set to sctp.h.in, netinet/sctp.h can -no longer be installed into ${includedir}. - -Since "AC_CONFIG_HEADERS([src/include/netinet/sctp.h])" is already -added into configure.ac, there's no need to generate sctp.h by -automake. - -So we simply set libcnetinet_HEADERS back to sctp.h. - -Fixes: 9607dd85e70a ("netinet/sctp.h: dynamically build based on system setup") -Signed-off-by: Xin Long -Signed-off-by: Marcelo Ricardo Leitner ---- - src/include/netinet/Makefile.am | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/include/netinet/Makefile.am b/src/include/netinet/Makefile.am -index ca0aac2..965db8c 100644 ---- a/src/include/netinet/Makefile.am -+++ b/src/include/netinet/Makefile.am -@@ -11,5 +11,4 @@ libcnetinetdir = $(includedir)/netinet - # API. - include_HEADERS = - --libcnetinet_HEADERS = sctp.h.in --BUILT_SOURCES = sctp.h -+libcnetinet_HEADERS = sctp.h --- -1.8.3.1 - diff --git a/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch b/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch deleted file mode 100644 index c1f7180..0000000 --- a/lksctp-tools-1.0.18-build-fix-probing-for-HAVE_SCTP_SENDV.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 596efd6631b83069d41782fb0ee2d6cf76a50dfa Mon Sep 17 00:00:00 2001 -From: Marcelo Ricardo Leitner -Date: Fri, 24 Aug 2018 09:52:59 -0300 -Subject: [PATCH 2/3] build: fix probing for HAVE_SCTP_SENDV - -Somehow it was using a type that is non-existent. The right one is -sctp_prinfo, introduced on ed63afb8a318 ("sctp: add support for PR-SCTP -Information for sendmsg"), present on v4.17. - -Fixes: 1b798f1ca3b5 ("build: add define HAVE_SCTP_AUTH_NO_AUTH") -Signed-off-by: Marcelo Ricardo Leitner -Reviewed-by: Xin Long ---- - configure.ac | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index dad658c..f55775a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -94,9 +94,8 @@ LKSCTP_CHECK_MEMBER([struct sctp_pdapi_event.pdapi_stream], - LKSCTP_CHECK_MEMBER([struct sctp_pdapi_event.pdapi_seq], - [HAVE_SCTP_PDAPI_EVENT_PDAPI_SEQ]) - --# PR-SCTP field used to probe for sendv/recvv support, added on v4.17 --LKSCTP_CHECK_MEMBER([struct sendv_prinfo.sctp_prinfo], -- [HAVE_SCTP_SENDV]) -+# PR-SCTP struct used to probe for sendv/recvv support, added on v4.17 -+LKSCTP_CHECK_TYPE([struct sctp_prinfo], [HAVE_SCTP_SENDV]) - - # This event indicates that the peer does not support SCTP authentication, - # added on v4.16, 30f6ebf65bc4 --- -1.8.3.1 - diff --git a/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch b/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch deleted file mode 100644 index 3246cb8..0000000 --- a/lksctp-tools-1.0.18-build-remove-v4.12-secondary-defines-in-favor-of-HAV.patch +++ /dev/null @@ -1,52 +0,0 @@ -From db6d15bf12a0123e4320e5fd7cb688331dea1bdc Mon Sep 17 00:00:00 2001 -From: Marcelo Ricardo Leitner -Date: Fri, 24 Aug 2018 09:52:58 -0300 -Subject: [PATCH 1/3] build: remove v4.12 secondary defines in favor of - HAVE_SCTP_STREAM_RECONFIG - -These were backups, commented out since beginning. -HAVE_SCTP_STREAM_RECONFIG is enough to identify that these are there, so -lets use only one. - -Signed-off-by: Marcelo Ricardo Leitner -Reviewed-by: Xin Long ---- - configure.ac | 8 -------- - src/include/netinet/sctp.h.in | 2 -- - 2 files changed, 10 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2ae36ec..dad658c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -82,14 +82,6 @@ AC_CHECK_FUNCS([bzero gethostbyname gettimeofday memmove memset select socket \ - LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_stream_reset_event], - [HAVE_SCTP_STREAM_RESET_EVENT]) - --# Support for assoc reset event, added on v4.12, c95129d127c6 --#LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_assoc_reset_event], \ --# [HAVE_SCTP_ASSOC_RESET_EVENT]) -- --# Support for stream change event, added on v4.12, b444153fb5a6 --#LKSCTP_CHECK_MEMBER([struct sctp_event_subscribe.sctp_stream_change_event], \ --# [HAVE_SCTP_STREAM_CHANGE_EVENT]) -- - # RFC 6525 (Stream Reconf), finished on v4.12, c0d8bab6ae51 - LKSCTP_CHECK_DECL([SCTP_RECONFIG_SUPPORTED], [HAVE_SCTP_STREAM_RECONFIG]) - -diff --git a/src/include/netinet/sctp.h.in b/src/include/netinet/sctp.h.in -index c049077..2009f1c 100644 ---- a/src/include/netinet/sctp.h.in -+++ b/src/include/netinet/sctp.h.in -@@ -61,8 +61,6 @@ extern "C" { - #define HAVE_SCTP_CANSET_PRIMARY - - #undef HAVE_SCTP_STREAM_RESET_EVENT --#undef HAVE_SCTP_ASSOC_RESET_EVENT --#undef HAVE_SCTP_STREAM_CHANGE_EVENT - #undef HAVE_SCTP_STREAM_RECONFIG - #undef HAVE_SCTP_PEELOFF_FLAGS - #undef HAVE_SCTP_PDAPI_EVENT_PDAPI_STREAM --- -1.8.3.1 - diff --git a/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch b/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch deleted file mode 100644 index 2b2c645..0000000 --- a/lksctp-tools-1.0.18-configure.ac-add-CURRENT-REVISION-and-AGE-for-libsct.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 7de2bd7e769f10521e3d0c2cb42c6f6b9b505dd0 Mon Sep 17 00:00:00 2001 -From: Xin Long -Date: Thu, 16 Aug 2018 14:12:30 +0800 -Subject: [PATCH] configure.ac: add CURRENT REVISION and AGE for libsctp and - libwithsctp - -Add CURRENT REVISION and AGE for libsctp and libwithsctp in -configure.ac to update these 2 library version information. - -Compatible with before, they will start from 1:18:0. But each -will get updated according to their definitions in the future. - -Signed-off-by: Xin Long -Acked-by: Neil Horman -Signed-off-by: Marcelo Ricardo Leitner ---- - configure.ac | 7 +++++++ - src/lib/Makefile.am | 7 +++++-- - src/withsctp/Makefile.am | 3 ++- - 3 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 275ef4e..2ae36ec 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -14,6 +14,13 @@ dnl reduce clutter in the root; if we put it below AM_INIT_AUTOMAKE, - dnl configure will fail ...) - - AC_INIT([lksctp-tools], [1.0.18], [], [], [http://www.lksctp.org/]) -+AC_SUBST(LIBSCTP_CURRENT, 1) -+AC_SUBST(LIBSCTP_REVISION, 18) -+AC_SUBST(LIBSCTP_AGE, 0) -+AC_SUBST(LIBWITHSCTP_CURRENT, 1) -+AC_SUBST(LIBWITHSCTP_REVISION, 18) -+AC_SUBST(LIBWITHSCTP_AGE, 0) -+ - AC_CONFIG_AUX_DIR(bin) - AC_CONFIG_SRCDIR([src/apps/sctp_darn.c]) - AC_CONFIG_HEADERS([config.h]) -diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am -index 6100c56..1d62175 100644 ---- a/src/lib/Makefile.am -+++ b/src/lib/Makefile.am -@@ -8,5 +8,8 @@ AM_CPPFLAGS = -I$(top_srcdir)/src/include - - lib_LTLIBRARIES = libsctp.la - --libsctp_la_SOURCES = bindx.c connectx.c peeloff.c opt_info.c addrs.c sendmsg.c recvmsg.c Versions.map --libsctp_la_LDFLAGS = -version-info 1:17:0 -Wl,--version-script=$(srcdir)/Versions.map -+libsctp_la_SOURCES = bindx.c connectx.c peeloff.c opt_info.c \ -+ addrs.c sendmsg.c recvmsg.c Versions.map -+libsctp_la_LDFLAGS = -version-info \ -+ @LIBSCTP_CURRENT@:@LIBSCTP_REVISION@:@LIBSCTP_AGE@ \ -+ -Wl,--version-script=$(srcdir)/Versions.map -diff --git a/src/withsctp/Makefile.am b/src/withsctp/Makefile.am -index 70b1cca..1f6ca37 100644 ---- a/src/withsctp/Makefile.am -+++ b/src/withsctp/Makefile.am -@@ -14,7 +14,8 @@ AM_CPPFLAGS=-I$(top_srcdir)/src/include - pkglib_LTLIBRARIES = libwithsctp.la - libwithsctp_la_SOURCES = sctp_load_libs.c sctp_socket.c sctp_bind.c \ - sctp_sockopt.c sctp_socket.h --libwithsctp_la_LDFLAGS = -version-info 1:17:0 -ldl -+libwithsctp_la_LDFLAGS = -version-info \ -+ @LIBWITHSCTP_CURRENT@:@LIBWITHSCTP_REVISION@:@LIBWITHSCTP_AGE@ -ldl - - pkgdoc_DATA = sctp_load_libs.c sctp_socket.c sctp_bind.c \ - sctp_sockopt.c sctp_socket.h checksctp.c --- -1.8.3.1 - diff --git a/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch b/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch deleted file mode 100644 index 002ab43..0000000 --- a/lksctp-tools-1.0.18-withsctp-use-PACKAGE_VERSION-in-withsctp.h.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7c0ef4d441b3833e721df58f56e2cb8c81b34df4 Mon Sep 17 00:00:00 2001 -From: Xin Long -Date: Thu, 16 Aug 2018 14:12:01 +0800 -Subject: [PATCH] withsctp: use @PACKAGE_VERSION@ in withsctp.h - -use @PACKAGE_VERSION@ to replace the hardcode version. - -Signed-off-by: Xin Long -Acked-by: Neil Horman -Signed-off-by: Marcelo Ricardo Leitner ---- - Makefile.rules | 3 ++- - src/withsctp/withsctp.in | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/Makefile.rules b/Makefile.rules -index 83f5f0c..d3693fa 100644 ---- a/Makefile.rules -+++ b/Makefile.rules -@@ -15,4 +15,5 @@ - edit = @sed \ - -e "s|\@bindir\@|$(bindir)|" \ - -e "s|\@libdir\@|$(libdir)|" \ -- -e "s|\@PACKAGE\@|$(PACKAGE)|" -+ -e "s|\@PACKAGE\@|$(PACKAGE)|" \ -+ -e "s|\@PACKAGE_VERSION\@|$(PACKAGE_VERSION)|" -diff --git a/src/withsctp/withsctp.in b/src/withsctp/withsctp.in -index 7f182ba..fda5ebc 100644 ---- a/src/withsctp/withsctp.in -+++ b/src/withsctp/withsctp.in -@@ -2,7 +2,8 @@ - # -*- sh -*- - LIBDIR=`rpm --eval "%{_libdir}"`/@PACKAGE@ - BINDIR=@bindir@ --export LD_PRELOAD=${LIBDIR}/libwithsctp.so.1.0.17 -+LIBVER=@PACKAGE_VERSION@ -+export LD_PRELOAD=${LIBDIR}/libwithsctp.so.${LIBVER} - if ! ${BINDIR}/checksctp 2> /dev/null - then - ${BINDIR}/checksctp; --- -1.8.3.1 - diff --git a/lksctp-tools-symver.patch b/lksctp-tools-symver.patch deleted file mode 100644 index 25ead68..0000000 --- a/lksctp-tools-symver.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 5de5c76..d3e31c3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -130,4 +130,12 @@ AC_ARG_ENABLE(tests, - [enable_tests=yes]) - AM_CONDITIONAL(BUILD_TESTS, [test $enable_tests != no]) - -+# GCC tries to be "helpful" and only issue a warning for unrecognized -+# attributes. So we compile the test with Werror, so that if the -+# attribute is not recognized the compilation fails -+AC_LANG(C) -+AC_LANG_WERROR -+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[__attribute__ ((symver ("foo@foo_1"))) void frob (void) { }]])], -+ [AC_DEFINE([HAVE_ATTRIBUTE_SYMVER], [1], [Checking for symver attribute])], []) -+ - AC_OUTPUT -diff --git a/src/lib/connectx.c b/src/lib/connectx.c -index 5f4552b..2a21e3a 100644 ---- a/src/lib/connectx.c -+++ b/src/lib/connectx.c -@@ -26,6 +26,18 @@ - #include - #include - #include -+#include "config.h" -+ -+#define __SYMPFX(pfx, sym) #pfx sym -+#define _SYMPFX(pfx, sym) __SYMPFX(pfx, sym) -+#define SYMPFX(sym) _SYMPFX(__USER_LABEL_PREFIX__, #sym) -+ -+#if HAVE_ATTRIBUTE_SYMVER -+#define SYMVER(name, name2) __attribute__ ((symver (SYMPFX(name2)))) -+#else -+#define SYMVER(name, name2) __asm__(".symver " SYMPFX(name) "," SYMPFX(name2)); -+#endif -+ - - /* Support the sctp_connectx() interface. - * -@@ -64,6 +76,7 @@ static int __connectx_addrsize(const struct sockaddr *addrs, - } - - -+SYMVER(__sctp_connectx, sctp_connectx@) - int __sctp_connectx(int fd, struct sockaddr *addrs, int addrcnt) - { - int addrs_size = __connectx_addrsize(addrs, addrcnt); -@@ -75,6 +88,7 @@ int __sctp_connectx(int fd, struct sockaddr *addrs, int addrcnt) - addrs_size); - } - -+SYMVER(sctp_connectx_orig, sctp_connectx@VERS_1) - extern int sctp_connectx_orig (int) - __attribute ((alias ("__sctp_connectx"))); - -@@ -114,6 +128,7 @@ static int __connectx(int fd, struct sockaddr *addrs, socklen_t addrs_size, - addrs, addrs_size); - } - -+SYMVER(sctp_connectx2, sctp_connectx@VERS_2) - int sctp_connectx2(int fd, struct sockaddr *addrs, int addrcnt, - sctp_assoc_t *id) - { -@@ -125,6 +140,7 @@ int sctp_connectx2(int fd, struct sockaddr *addrs, int addrcnt, - return __connectx(fd, addrs, addrs_size, id); - } - -+SYMVER(sctp_connectx3, sctp_connectx@@VERS_3) - int sctp_connectx3(int fd, struct sockaddr *addrs, int addrcnt, - sctp_assoc_t *id) - { -@@ -179,12 +195,3 @@ int sctp_connectx3(int fd, struct sockaddr *addrs, int addrcnt, - return __connectx(fd, addrs, addrs_size, id); - } - --#define __SYMPFX(pfx, sym) #pfx sym --#define _SYMPFX(pfx, sym) __SYMPFX(pfx, sym) --#define SYMPFX(sym) _SYMPFX(__USER_LABEL_PREFIX__, #sym) --#define SYMVER(name, name2) __asm__(".symver " SYMPFX(name) "," SYMPFX(name2)) -- --SYMVER(__sctp_connectx, sctp_connectx@); --SYMVER(sctp_connectx_orig, sctp_connectx@VERS_1); --SYMVER(sctp_connectx2, sctp_connectx@VERS_2); --SYMVER(sctp_connectx3, sctp_connectx@@VERS_3);