From: Christian Heimes Date: Wed, 7 Sep 2016 10:42:47 +0000 (+0200) Subject: Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet. X-Git-Tag: v3.6.0b1~353 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b205fe9791d780b0bdb88492eeaa71348e1d6957;p=thirdparty%2FPython%2Fcpython.git Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet. --- diff --git a/Modules/_sha3/sha3module.c b/Modules/_sha3/sha3module.c index 67c69f2c85af..c236387fafd3 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 */