package/openswan: fix build with gcc 10
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Thu, 24 Sep 2020 20:31:33 +0000 (22:31 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 26 Sep 2020 13:44:45 +0000 (15:44 +0200)
Fixes:
 - http://autobuild.buildroot.org/results/650fc0046fd063c70e17ce5ebd9592195657434d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/openswan/0001-fix-build-with-gcc-10.patch [new file with mode: 0644]

diff --git a/package/openswan/0001-fix-build-with-gcc-10.patch b/package/openswan/0001-fix-build-with-gcc-10.patch
new file mode 100644 (file)
index 0000000..eb474b5
--- /dev/null
@@ -0,0 +1,49 @@
+From 3324d5ab1d00920ea46f453240da1356e0639e98 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Thu, 24 Sep 2020 21:55:31 +0200
+Subject: [PATCH] fix build with gcc 10
+
+Define kw_host_list and kw_connaddrfamily_list as extern to avoid the following
+build failure with gcc 10 (which defaults to -fno-common):
+
+/home/peko/autobuild/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: initiate.o:/home/peko/autobuild/instance-1/output-1/build/openswan-2.6.51.5/include/pluto_constants.h:650: multiple definition of `kw_host_list'; connections.o:/home/peko/autobuild/instance-1/output-1/build/openswan-2.6.51.5/include/pluto_constants.h:650: first defined here
+
+Fixes:
+ - http://autobuild.buildroot.org/results/650fc0046fd063c70e17ce5ebd9592195657434d
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/xelerance/Openswan/pull/444]
+---
+ include/ipsecconf/keywords.h | 2 +-
+ include/pluto_constants.h    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/ipsecconf/keywords.h b/include/ipsecconf/keywords.h
+index e32be7968..02e8e073e 100644
+--- a/include/ipsecconf/keywords.h
++++ b/include/ipsecconf/keywords.h
+@@ -314,7 +314,7 @@ struct config_parsed {
+     bool                got_default;
+ };
+-const struct keyword_enum_values kw_connaddrfamily_list;
++extern const struct keyword_enum_values kw_connaddrfamily_list;
+ extern struct keyword_def ipsec_conf_keywords_v2[];
+ extern const int ipsec_conf_keywords_v2_count;
+diff --git a/include/pluto_constants.h b/include/pluto_constants.h
+index c35dd9576..dcbd3b5b4 100644
+--- a/include/pluto_constants.h
++++ b/include/pluto_constants.h
+@@ -665,7 +665,7 @@ enum keyword_host {
+     KH_IPADDR       = LOOSE_ENUM_OTHER,
+ };
+ /* keyword_name(&kw_host_list, type, buffer[KEYWORD_NAME_BUFLEN]) */
+-struct keyword_enum_values kw_host_list;
++extern struct keyword_enum_values kw_host_list;
+ #define KH_ISWILDCARD(type)  ((type) == KH_ANY || (type) == KH_DEFAULTROUTE)
+ #define KH_ISKNOWNADDR(type) ((type) == KH_IPADDR || (type)==KH_IFACE)
+-- 
+2.28.0
+