summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@chromium.org>2014-10-31 15:48:19 -0400
committerAdam Langley <agl@google.com>2014-10-31 22:00:45 +0000
commitf44aa68a265bb27d9c8c23585f8a2723a27124c5 (patch)
tree8b927b9008793ca4c21f73532297d515abb2207e
parente92fc1812d90a5867c6325f047e71a5e2c6f8600 (diff)
downloadsrc-f44aa68a265bb27d9c8c23585f8a2723a27124c5.tar.gz
Fix standalone Win64 build.
generic.c still needs to include generic implementations in Win64. Those are currently done with inline assembly and won't work on MSVC. Change-Id: Ifeb5470872d8c97b2ccffeae6f3ccb5661051de3 Reviewed-on: https://boringssl-review.googlesource.com/2102 Reviewed-by: Adam Langley <agl@google.com>
-rw-r--r--crypto/bn/asm/x86_64-gcc.c2
-rw-r--r--crypto/bn/generic.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/crypto/bn/asm/x86_64-gcc.c b/crypto/bn/asm/x86_64-gcc.c
index be119aa..1de0f42 100644
--- a/crypto/bn/asm/x86_64-gcc.c
+++ b/crypto/bn/asm/x86_64-gcc.c
@@ -56,6 +56,8 @@
* machine.
*/
+ /* TODO(davidben): Get this file working on Windows x64. */
+
#undef mul
#undef mul_add
diff --git a/crypto/bn/generic.c b/crypto/bn/generic.c
index c60cfd9..52aad8e 100644
--- a/crypto/bn/generic.c
+++ b/crypto/bn/generic.c
@@ -61,8 +61,13 @@
#include "internal.h"
+/* Generic implementations of most operations are needed for:
+ * - Configurations without inline assembly.
+ * - Architectures other than x86 or x86_64.
+ * - Windows x84_64; x86_64-gcc.c does not build on MSVC. */
#if defined(OPENSSL_NO_ASM) || \
- (!defined(OPENSSL_X86_64) && !defined(OPENSSL_X86))
+ (!defined(OPENSSL_X86_64) && !defined(OPENSSL_X86)) || \
+ (defined(OPENSSL_X86_64) && defined(OPENSSL_WINDOWS))
#if defined(OPENSSL_WINDOWS)
#define alloca _alloca