libxcrypt/gcc10.patch

66 lines
2.2 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 1/2] 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
--
2.24.1
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 2/2] 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)
--
2.24.1