[Python-checkins] cpython: Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet.

christian.heimes python-checkins at python.org
Wed Sep 7 06:43:01 EDT 2016


https://hg.python.org/cpython/rev/4971ca2960c7
changeset:   103218:4971ca2960c7
user:        Christian Heimes <christian at python.org>
date:        Wed Sep 07 12:42:47 2016 +0200
summary:
  Issue #16113: KeccakP-1600-opt64 does not support big endian platforms yet.

files:
  Modules/_sha3/sha3module.c |  5 ++++-
  1 files changed, 4 insertions(+), 1 deletions(-)


diff --git a/Modules/_sha3/sha3module.c b/Modules/_sha3/sha3module.c
--- 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 */

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list