Skip to content

Commit

Permalink
Don't build X25519 asm code when NO_ASM is set.
Browse files Browse the repository at this point in the history
Change-Id: I6c7188648d81ab11a43b5491a850fb1d74e40986
Reviewed-on: https://boringssl-review.googlesource.com/6810
Reviewed-by: Adam Langley <agl@google.com>
  • Loading branch information
Adam Langley authored and agl committed Dec 22, 2015
1 parent 77a173e commit e6c5402
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ if(FUZZ)
endif()

add_definitions(-DBORINGSSL_IMPLEMENTATION)
add_definitions(-DOPENSSL_NO_ASM)

if (BUILD_SHARED_LIBS)
add_definitions(-DBORINGSSL_SHARED_LIBRARY)
Expand Down
4 changes: 2 additions & 2 deletions crypto/curve25519/curve25519.c
Original file line number Diff line number Diff line change
Expand Up @@ -4826,7 +4826,7 @@ static void x25519_scalar_mult_generic(uint8_t out[32],

static void x25519_scalar_mult(uint8_t out[32], const uint8_t scalar[32],
const uint8_t point[32]) {
#if defined(OPENSSL_ARM)
#if defined(BORINGSSL_X25519_NEON)
if (CRYPTO_is_NEON_capable()) {
x25519_NEON(out, scalar, point);
return;
Expand Down Expand Up @@ -4868,7 +4868,7 @@ void X25519_public_from_private(uint8_t out_public_value[32],

void X25519_public_from_private(uint8_t out_public_value[32],
const uint8_t private_key[32]) {
#if defined(OPENSSL_ARM)
#if defined(BORINGSSL_X25519_NEON)
if (CRYPTO_is_NEON_capable()) {
static const uint8_t kMongomeryBasePoint[32] = {9};
x25519_NEON(out_public_value, private_key, kMongomeryBasePoint);
Expand Down
6 changes: 4 additions & 2 deletions crypto/curve25519/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,17 @@ extern "C" {


#if defined(OPENSSL_X86_64) && !defined(OPENSSL_SMALL) && \
!defined(OPENSSL_WINDOWS)
!defined(OPENSSL_WINDOWS) && !defined(OPENSSL_NO_ASM)
#define BORINGSSL_X25519_X86_64

void x25519_x86_64(uint8_t out[32], const uint8_t scalar[32],
const uint8_t point[32]);
#endif


#if defined(OPENSSL_ARM)
#if defined(OPENSSL_ARM) && !defined(OPENSSL_NO_ASM)
#define BORINGSSL_X25519_NEON

/* x25519_NEON is defined in asm/x25519-arm.S. */
void x25519_NEON(uint8_t out[32], const uint8_t scalar[32],
const uint8_t point[32]);
Expand Down

0 comments on commit e6c5402

Please sign in to comment.