add zfs 0.7 snapshot
[portage-squeep] / sys-fs / zfs / files / 0.8.3-fno-common.patch
diff --git a/sys-fs/zfs/files/0.8.3-fno-common.patch b/sys-fs/zfs/files/0.8.3-fno-common.patch
new file mode 100644 (file)
index 0000000..3b09d8b
--- /dev/null
@@ -0,0 +1,83 @@
+From af09c050e95bebbaeca52156218f3f91e8c9951a Mon Sep 17 00:00:00 2001
+From: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
+Date: Thu, 6 Feb 2020 18:25:29 +0100
+Subject: [PATCH] Fix static data to link with -fno-common
+
+-fno-common is the new default in GCC 10, replacing -fcommon in
+GCC <= 9, so static data must only be allocated once.
+
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: Romain Dolbeau <romain.dolbeau@european-processor-initiative.eu>
+Closes #9943
+---
+ cmd/zfs/zfs_util.h     | 2 +-
+ cmd/zpool/zpool_main.c | 2 ++
+ cmd/zpool/zpool_util.h | 2 +-
+ lib/libshare/smb.c     | 2 ++
+ lib/libshare/smb.h     | 2 +-
+ 5 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/cmd/zfs/zfs_util.h b/cmd/zfs/zfs_util.h
+index 3ddff9e22d7..a56af59adb1 100644
+--- a/cmd/zfs/zfs_util.h
++++ b/cmd/zfs/zfs_util.h
+@@ -33,7 +33,7 @@ extern "C" {
+ void * safe_malloc(size_t size);
+ void nomem(void);
+-libzfs_handle_t *g_zfs;
++extern libzfs_handle_t *g_zfs;
+ #ifdef        __cplusplus
+ }
+diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c
+index ae5e8a370fc..ff4f44d4652 100644
+--- a/cmd/zpool/zpool_main.c
++++ b/cmd/zpool/zpool_main.c
+@@ -76,6 +76,8 @@
+ #include "statcommon.h"
++libzfs_handle_t *g_zfs;
++
+ static int zpool_do_create(int, char **);
+ static int zpool_do_destroy(int, char **);
+diff --git a/cmd/zpool/zpool_util.h b/cmd/zpool/zpool_util.h
+index ce760df723c..1f23f61aaa4 100644
+--- a/cmd/zpool/zpool_util.h
++++ b/cmd/zpool/zpool_util.h
+@@ -79,7 +79,7 @@ void pool_list_free(zpool_list_t *);
+ int pool_list_count(zpool_list_t *);
+ void pool_list_remove(zpool_list_t *, zpool_handle_t *);
+-libzfs_handle_t *g_zfs;
++extern libzfs_handle_t *g_zfs;
+ typedef       struct vdev_cmd_data
+diff --git a/lib/libshare/smb.c b/lib/libshare/smb.c
+index a95607ee032..f567f7c49d7 100644
+--- a/lib/libshare/smb.c
++++ b/lib/libshare/smb.c
+@@ -65,6 +65,8 @@ static boolean_t smb_available(void);
+ static sa_fstype_t *smb_fstype;
++smb_share_t *smb_shares;
++
+ /*
+  * Retrieve the list of SMB shares.
+  */
+diff --git a/lib/libshare/smb.h b/lib/libshare/smb.h
+index 7a0c0fd162d..8ea44677f9a 100644
+--- a/lib/libshare/smb.h
++++ b/lib/libshare/smb.h
+@@ -44,6 +44,6 @@ typedef struct smb_share_s {
+       struct smb_share_s *next;
+ } smb_share_t;
+-smb_share_t *smb_shares;
++extern smb_share_t *smb_shares;
+ void libshare_smb_init(void);