Add two upstream patches to fix build with upcoming GCC-10

This commit is contained in:
Björn Esser 2019-12-15 21:49:06 +01:00
parent a9c4b4ac63
commit 9ea1d78e4f
No known key found for this signature in database
GPG Key ID: F52E98007594C21D
3 changed files with 64 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From 45ff87405a6f2ee64ec282e6efc6cca229eae893 Mon Sep 17 00:00:00 2001
From: Zack Weinberg <zackw@panix.com>
Date: Wed, 11 Dec 2019 13:27:54 -0500
Subject: [PATCH] Remove -Winline from the list of warnings to use (#95)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC 10 may decline to inline some functions in `alg-yescrypt-opt.c`
and, with `-Winline -Werror`, this breaks the build. This warning
isnt ever going to expose actual bugs, so lets just turn it off.
Fixes #95.
---
m4/zw_simple_warnings.m4 | 1 -
1 file changed, 1 deletion(-)
diff --git a/m4/zw_simple_warnings.m4 b/m4/zw_simple_warnings.m4
index cfdf9e9..e45453e 100644
--- a/m4/zw_simple_warnings.m4
+++ b/m4/zw_simple_warnings.m4
@@ -72,7 +72,6 @@ AC_ARG_ENABLE(
-Wformat-overflow=2 dnl
-Wformat-signedness dnl
-Wformat-truncation=1 dnl
- -Winline dnl
-Wlogical-op dnl
-Wmissing-declarations dnl
-Wmissing-prototypes dnl

View File

@ -0,0 +1,29 @@
From 941362e2868a71a32a2a497903e651fb647b4fd2 Mon Sep 17 00:00:00 2001
From: Zack Weinberg <zackw@panix.com>
Date: Wed, 11 Dec 2019 13:33:07 -0500
Subject: [PATCH] crypt-common.h: Declare `ascii64` with explicit `extern`.
GCC 10 changes its default compilation mode from `-fcommon` to
`-fno-common`, which means that tentative definitions of data objects
will no longer be merged across translation units; instead they will
produce multiple definition errors. The `ascii64` constant was
supposed to be _declared_ in crypt-common.h, but it was accidentally a
tentative definition instead. Fix this by adding the `extern`
annotation that should have always been there.
---
lib/crypt-common.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/crypt-common.h b/lib/crypt-common.h
index c97fa5d..1134bc4 100644
--- a/lib/crypt-common.h
+++ b/lib/crypt-common.h
@@ -24,7 +24,7 @@
/* The base-64 encoding table used by most hashing methods.
(bcrypt uses a slightly different encoding.) Size 65
because it's used as a C string in a few places. */
-const unsigned char ascii64[65];
+extern const unsigned char ascii64[65];
/* Same table gets used with other names in various places. */
#define b64t ((const char *) ascii64)

View File

@ -142,7 +142,7 @@ fi \
Name: libxcrypt
Version: 4.4.10
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Extended crypt library for descrypt, md5crypt, bcrypt, and others
# For explicit license breakdown, see the
@ -152,6 +152,8 @@ URL: https://github.com/besser82/%{name}
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
# Patch 0000 - 2999: Backported patches from upstream.
Patch0000: %{url}/commit/45ff87405a6f2ee64ec282e6efc6cca229eae893.patch#/%{name}-%{version}-Remove_Winline_from_the_list_of_warnings_to_use.patch
Patch0001: %{url}/commit/941362e2868a71a32a2a497903e651fb647b4fd2.patch#/%{name}-%{version}-crypt-common_h_Declare_ascii64_with_explicit_extern.patch
# Patch 3000 - 5999: Backported patches from pull requests.
@ -459,6 +461,9 @@ done
%changelog
* Sun Dec 15 2019 Björn Esser <besser82@fedoraproject.org> - 4.4.10-2
- Add two upstream patches to fix build with upcoming GCC-10
* Wed Sep 18 2019 Björn Esser <besser82@fedoraproject.org> - 4.4.10-1
- New upstream release