commit:     870f9a5ad572bc624cde4f1cce690d6e98bac2fa
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 15 01:29:03 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jun 15 01:30:32 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=870f9a5a

sys-block/open-iscsi: fix building against gcc-10

Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 .../open-iscsi-2.0.878-gcc10-fno-common.patch      | 107 +++++++++++++++++++++
 ...2.0.878.ebuild => open-iscsi-2.0.878-r1.ebuild} |   3 +-
 2 files changed, 109 insertions(+), 1 deletion(-)

diff --git 
a/sys-block/open-iscsi/files/open-iscsi-2.0.878-gcc10-fno-common.patch 
b/sys-block/open-iscsi/files/open-iscsi-2.0.878-gcc10-fno-common.patch
new file mode 100644
index 00000000000..b61476555fb
--- /dev/null
+++ b/sys-block/open-iscsi/files/open-iscsi-2.0.878-gcc10-fno-common.patch
@@ -0,0 +1,107 @@
+From 499a006a7d6bb154f9e1ab430e4c9e231ba6096a Mon Sep 17 00:00:00 2001
+From: Lee Duncan <ldun...@suse.com>
+Date: Tue, 28 Jan 2020 16:36:56 -0800
+Subject: [PATCH] Updates to support gcc -fno-common option.
+
+This meant cleaning up the definition of some
+global variables, so that they were only defined
+in one place and refered to as external elsewhere.
+---
+ include/iscsi_err.h    | 6 ++++--
+ iscsiuio/configure.ac  | 2 +-
+ iscsiuio/src/uip/uip.h | 4 ++--
+ usr/iscsi_err.c        | 2 ++
+ usr/log.c              | 1 +
+ usr/log.h              | 2 +-
+ 6 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/include/iscsi_err.h b/include/iscsi_err.h
+index ed000dd0..04a8723e 100644
+--- a/include/iscsi_err.h
++++ b/include/iscsi_err.h
+@@ -4,7 +4,7 @@
+ #ifndef _ISCSI_ERR_
+ #define _ISCSI_ERR_
+ 
+-enum {
++enum iscsi_error_list {
+       ISCSI_SUCCESS                   = 0,
+       /* Generic error */
+       ISCSI_ERR                       = 1,
+@@ -73,7 +73,9 @@ enum {
+ 
+       /* Always last. Indicates end of error code space */
+       ISCSI_MAX_ERR_VAL,
+-} iscsi_err;
++};
++
++extern enum iscsi_error_list iscsi_err;
+ 
+ extern void iscsi_err_print_msg(int err);
+ extern char *iscsi_err_to_str(int err);
+diff --git a/iscsiuio/configure.ac b/iscsiuio/configure.ac
+index b41df0ec..8099f09c 100644
+--- a/iscsiuio/configure.ac
++++ b/iscsiuio/configure.ac
+@@ -78,7 +78,7 @@ AC_CONFIG_COMMANDS([default],[[
+     else
+         echo 'char *build_date = "'`date`'";' > src/unix/build_date.c
+     fi
+-    echo 'char *build_date;'> src/unix/build_date.h
++    echo 'extern char *build_date;'> src/unix/build_date.h
+ ]],[[]])
+ 
+ AC_PREFIX_DEFAULT()
+diff --git a/iscsiuio/src/uip/uip.h b/iscsiuio/src/uip/uip.h
+index 1180ab50..9d9428a2 100644
+--- a/iscsiuio/src/uip/uip.h
++++ b/iscsiuio/src/uip/uip.h
+@@ -70,8 +70,8 @@ struct uip_stack;
+ typedef u16_t uip_ip4addr_t[2];
+ typedef u16_t uip_ip6addr_t[8];
+ 
+-const uip_ip6addr_t all_zeroes_addr6;
+-const uip_ip4addr_t all_zeroes_addr4;
++extern const uip_ip6addr_t all_zeroes_addr6;
++extern const uip_ip4addr_t all_zeroes_addr4;
+ 
+ #define ETH_BUF(buf) ((struct uip_eth_hdr *)buf)
+ #define VLAN_ETH_BUF(buf) ((struct uip_vlan_eth_hdr *)buf)
+diff --git a/usr/iscsi_err.c b/usr/iscsi_err.c
+index 23c61fc3..4a057d57 100644
+--- a/usr/iscsi_err.c
++++ b/usr/iscsi_err.c
+@@ -21,6 +21,8 @@
+ #include "iscsi_err.h"
+ #include "log.h"
+ 
++enum iscsi_error_list iscsi_err;
++
+ static char *iscsi_err_msgs[] = {
+       /* 0 */ "",
+       /* 1 */ "unknown error",
+diff --git a/usr/log.c b/usr/log.c
+index f29b54b3..6e16e7ce 100644
+--- a/usr/log.c
++++ b/usr/log.c
+@@ -33,6 +33,7 @@
+ 
+ char *log_name;
+ int log_level = 0;
++struct logarea *la = NULL;
+ 
+ static int log_stop_daemon = 0;
+ static void (*log_func)(int prio, void *priv, const char *fmt, va_list ap);
+diff --git a/usr/log.h b/usr/log.h
+index 486a08ea..c548791e 100644
+--- a/usr/log.h
++++ b/usr/log.h
+@@ -64,7 +64,7 @@ struct logarea {
+       union semun semarg;
+ };
+ 
+-struct logarea *la;
++extern struct logarea *la;
+ 
+ extern int log_init(char *program_name, int size,
+       void (*func)(int prio, void *priv, const char *fmt, va_list ap),

diff --git a/sys-block/open-iscsi/open-iscsi-2.0.878.ebuild 
b/sys-block/open-iscsi/open-iscsi-2.0.878-r1.ebuild
similarity index 97%
rename from sys-block/open-iscsi/open-iscsi-2.0.878.ebuild
rename to sys-block/open-iscsi/open-iscsi-2.0.878-r1.ebuild
index a1f80e0a347..a622e3b62f5 100644
--- a/sys-block/open-iscsi/open-iscsi-2.0.878.ebuild
+++ b/sys-block/open-iscsi/open-iscsi-2.0.878-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -32,6 +32,7 @@ REQUIRED_USE="infiniband? ( rdma ) || ( rdma tcp )"
 
 PATCHES=(
        "${FILESDIR}/${PN}-2.0.876-Makefiles.patch"
+       "${FILESDIR}/${PN}-2.0.878-gcc10-fno-common.patch"
 )
 
 pkg_setup() {

Reply via email to