Fix build for gcc10

This commit is contained in:
Eric Sandeen 2020-01-31 12:06:55 -06:00
parent 1bc5ab2f45
commit 15aab9f356
2 changed files with 86 additions and 1 deletions

View File

@ -0,0 +1,79 @@
From 123b851389ef9a012a469ef982ac7b819db59342 Mon Sep 17 00:00:00 2001
From: Eric Sandeen <sandeen@redhat.com>
Date: Thu, 30 Jan 2020 13:34:17 -0500
Subject: [PATCH] xfsprogs: do not redeclare globals provided by libraries
In each of these cases, db, logprint, and mdrestore are redeclaring
as a global variable something which was already provided by a
library they link with.
gcc now defaults to -fno-common and trips over these global variables
which are declared in utilities as well as in libxfs and libxlog, and
it causes the build to fail.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
---
db/init.c | 1 -
logprint/logprint.c | 4 ++--
mdrestore/xfs_mdrestore.c | 1 -
3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/db/init.c b/db/init.c
index 455220a8..0ac37368 100644
--- a/db/init.c
+++ b/db/init.c
@@ -27,7 +27,6 @@ static int force;
static struct xfs_mount xmount;
struct xfs_mount *mp;
static struct xlog xlog;
-libxfs_init_t x;
xfs_agnumber_t cur_agno = NULLAGNUMBER;
static void
diff --git a/logprint/logprint.c b/logprint/logprint.c
index 7754a2a6..511a32ac 100644
--- a/logprint/logprint.c
+++ b/logprint/logprint.c
@@ -24,7 +24,6 @@ int print_buffer;
int print_overwrite;
int print_no_data;
int print_no_print;
-int print_exit = 1; /* -e is now default. specify -c to override */
static int print_operation = OP_PRINT;
static void
@@ -132,6 +131,7 @@ main(int argc, char **argv)
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
memset(&mount, 0, sizeof(mount));
+ print_exit = 1; /* -e is now default. specify -c to override */
progname = basename(argv[0]);
while ((c = getopt(argc, argv, "bC:cdefl:iqnors:tDVv")) != EOF) {
@@ -152,7 +152,7 @@ main(int argc, char **argv)
case 'e':
/* -e is now default
*/
- print_exit++;
+ print_exit = 1;
break;
case 'C':
print_operation = OP_COPY;
diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
index 3375e080..1cd399db 100644
--- a/mdrestore/xfs_mdrestore.c
+++ b/mdrestore/xfs_mdrestore.c
@@ -7,7 +7,6 @@
#include "libxfs.h"
#include "xfs_metadump.h"
-char *progname;
static int show_progress = 0;
static int show_info = 0;
static int progress_since_warning = 0;
--
2.20.1

View File

@ -1,7 +1,7 @@
Summary: Utilities for managing the XFS filesystem
Name: xfsprogs
Version: 5.4.0
Release: 2%{?dist}
Release: 3%{?dist}
License: GPL+ and LGPLv2+
URL: https://xfs.wiki.kernel.org
Source0: http://kernel.org/pub/linux/utils/fs/xfs/xfsprogs/%{name}-%{version}.tar.xz
@ -17,6 +17,8 @@ Obsoletes: xfsprogs-qa-devel <= %{version}
Conflicts: xfsdump < 3.0.1
Suggests: xfsprogs-xfs_scrub
Patch0: 0001-xfsprogs-do-not-redeclare-globals-provided-by-librar.patch
%description
A set of commands to use the XFS filesystem, including mkfs.xfs.
@ -53,6 +55,7 @@ interface could change at any time!
%prep
%setup -q
%patch0 -p1
%build
export tagname=CC
@ -119,6 +122,9 @@ rm -rf $RPM_BUILD_ROOT/%{_datadir}/doc/xfsprogs/
%{_libdir}/*.so
%changelog
* Fri Jan 31 2020 Eric Sandeen <sandeen@redhat.com> 5.4.0-3
- Fix global redefinitions for gcc10 build
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild