Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/crypto/external/bsd/openssl/include/openssl Define OPENSSL_N...



details:   https://anonhg.NetBSD.org/src/rev/b38bd2dbc6f0
branches:  trunk
changeset: 941126:b38bd2dbc6f0
user:      rin <rin%NetBSD.org@localhost>
date:      Mon Oct 19 12:46:04 2020 +0000

description:
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.

diffstat:

 crypto/external/bsd/openssl/include/openssl/opensslconf.h |  7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r fb30f8047fd9 -r b38bd2dbc6f0 crypto/external/bsd/openssl/include/openssl/opensslconf.h
--- a/crypto/external/bsd/openssl/include/openssl/opensslconf.h Mon Oct 19 11:49:56 2020 +0000
+++ b/crypto/external/bsd/openssl/include/openssl/opensslconf.h Mon Oct 19 12:46:04 2020 +0000
@@ -50,7 +50,12 @@
 #  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



Home | Main Index | Thread Index | Old Index