From b205fe9791d780b0bdb88492eeaa71348e1d6957 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Wed, 7 Sep 2016 12:42:47 +0200 Subject: Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet. --- Modules/_sha3/sha3module.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Modules/_sha3/sha3module.c b/Modules/_sha3/sha3module.c index 67c69f2..c236387 100644 --- a/Modules/_sha3/sha3module.c +++ b/Modules/_sha3/sha3module.c @@ -37,8 +37,11 @@ /* opt64 uses un-aligned memory access that causes a BUS error with msg * 'invalid address alignment' on SPARC. */ #define KeccakOpt 32 +#elif PY_BIG_ENDIAN + /* opt64 is not yet supported on big endian platforms */ + #define KeccakOpt 32 #elif SIZEOF_VOID_P == 8 && defined(PY_UINT64_T) - /* opt64 works only for 64bit platforms with unsigned int64 */ + /* opt64 works only on little-endian 64bit platforms with unsigned int64 */ #define KeccakOpt 64 #else /* opt32 is used for the remaining 32 and 64bit platforms */ -- cgit v0.12