aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2020-03-24 02:00:25 -0400
committerGreg Hudson <ghudson@mit.edu>2020-04-10 13:11:36 -0400
commit411366f9396d63147c4bc433aff42b9554d4d6be (patch)
tree4a33a51165e9edfb36e66b5baa3f831329f805ac
parentffbd726efec68859a601f5dc27bc00926a5a73f0 (diff)
downloadkrb5-411366f9396d63147c4bc433aff42b9554d4d6be.zip
krb5-411366f9396d63147c4bc433aff42b9554d4d6be.tar.gz
krb5-411366f9396d63147c4bc433aff42b9554d4d6be.tar.bz2
Make fiat 128-bit typedefs work with older gcc
Use the int128_t and uint128_t types defined by edwards25519.c, rather than [un]signed __int128 which does not compile with gcc 4.4. Reported by Norm Green. (cherry picked from commit dd5d6e5e39be6cf7fe9d54a79e824f8cb7301177) ticket: 8888 version_fixed: 1.18.1
-rw-r--r--src/plugins/preauth/spake/edwards25519.c4
-rw-r--r--src/plugins/preauth/spake/edwards25519_fiat.h4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/preauth/spake/edwards25519.c b/src/plugins/preauth/spake/edwards25519.c
index cbc26e5..2039411 100644
--- a/src/plugins/preauth/spake/edwards25519.c
+++ b/src/plugins/preauth/spake/edwards25519.c
@@ -68,7 +68,9 @@
* generation. The fiat_25519_selectznz and fiat_25519_carry_scmul_121666
* functions were removed from both branches as they are not used here (the
* former because it is not used by the BoringSSL code and the latter because
- * it is only used by the X25519 code).
+ * it is only used by the X25519 code). The fiat_25519_int128 and
+ * fiat_25519_uint128 typedefs were adjusted to work with older versions of
+ * gcc.
*
* - fe_cmov() has the initial "Silence an unused function warning" part
* removed, as we removed fiat_25519_selectznz instead.
diff --git a/src/plugins/preauth/spake/edwards25519_fiat.h b/src/plugins/preauth/spake/edwards25519_fiat.h
index b61cb49..48ade92 100644
--- a/src/plugins/preauth/spake/edwards25519_fiat.h
+++ b/src/plugins/preauth/spake/edwards25519_fiat.h
@@ -11,8 +11,8 @@
#include <stdint.h>
typedef unsigned char fiat_25519_uint1;
typedef signed char fiat_25519_int1;
-typedef signed __int128 fiat_25519_int128;
-typedef unsigned __int128 fiat_25519_uint128;
+typedef int128_t fiat_25519_int128;
+typedef uint128_t fiat_25519_uint128;
/*