Module Name:    src
Committed By:   rin
Date:           Mon Oct 19 12:46:04 UTC 2020

Modified Files:
        src/crypto/external/bsd/openssl/include/openssl: opensslconf.h

Log Message:
Define OPENSSL_NO_EC_NISTP_64_GCC_128 also for aarch64eb.

Fix ssh-keygen(1) on aarch64eb. Also, all tests in tests/crypto pass
with this change.

As martin pointed out when this macro was defined for sparc64,

http://cvsweb.netbsd.org/bsdweb.cgi/src/crypto/external/bsd/openssl/include/openssl/opensslconf.h#rev1.5

this code seems broken on LP64BE architectures.

At the moment, mips64eb is not affected since only N32 is supported as
userland. Also, we do not support powerpc64 (eb) yet. But we may need to
take care of them in future.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
    src/crypto/external/bsd/openssl/include/openssl/opensslconf.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/openssl/include/openssl/opensslconf.h
diff -u src/crypto/external/bsd/openssl/include/openssl/opensslconf.h:1.8 src/crypto/external/bsd/openssl/include/openssl/opensslconf.h:1.9
--- src/crypto/external/bsd/openssl/include/openssl/opensslconf.h:1.8	Thu Oct  8 16:00:09 2020
+++ src/crypto/external/bsd/openssl/include/openssl/opensslconf.h	Mon Oct 19 12:46:04 2020
@@ -50,7 +50,12 @@ extern "C" {
 #  define OPENSSL_NO_DEVCRYPTOENG
 # endif
 #endif
-#if !defined(_LP64) || defined(__alpha__) || defined(__sparc64__)
+/*
+ * XXX
+ * This seems broken on big-endian or strictly-aligned architectures.
+ */
+#if !defined(_LP64) || \
+    defined(__AARCH64EB__) || defined(__alpha__) || defined(__sparc64__)
 # ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
 #  define OPENSSL_NO_EC_NISTP_64_GCC_128
 # endif

Reply via email to