summaryrefslogtreecommitdiffstats
path: root/Modules/_sha3/sha3module.c
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2016-09-07 10:42:47 (GMT)
committerChristian Heimes <christian@python.org>2016-09-07 10:42:47 (GMT)
commitb205fe9791d780b0bdb88492eeaa71348e1d6957 (patch)
tree4a0b545581e075b8a5b8fa287237fa1d722f5e54 /Modules/_sha3/sha3module.c
parent6fe2a75b645044ca2b5dac03e8d850567b547a9a (diff)
downloadcpython-b205fe9791d780b0bdb88492eeaa71348e1d6957.zip
cpython-b205fe9791d780b0bdb88492eeaa71348e1d6957.tar.gz
cpython-b205fe9791d780b0bdb88492eeaa71348e1d6957.tar.bz2
Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet.
Diffstat (limited to 'Modules/_sha3/sha3module.c')
-rw-r--r--Modules/_sha3/sha3module.c5
1 files changed, 4 insertions, 1 deletions
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 */