external/boringssl: Sync to 5e578c9dba73460c3eb17f771c77fc8e36f7812e.
This includes the following changes:
https://boringssl.googlesource.com/boringssl/+log/58e449904e248f34bdfc2be7a609c58bcb0257b7..5e578c9dba73460c3eb17f771c77fc8e36f7812e
Test: BoringSSL CTS Presubmits
Change-Id: Ic1541b034545fa58a284ca35134b3719303455c7
diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt
index 5996577..b941f67 100644
--- a/src/crypto/CMakeLists.txt
+++ b/src/crypto/CMakeLists.txt
@@ -1,56 +1,63 @@
include_directories(../include)
-if(UNIX)
- if (${ARCH} STREQUAL "aarch64")
- # The "armx" Perl scripts look for "64" in the style argument
- # in order to decide whether to generate 32- or 64-bit asm.
- if (APPLE)
- set(PERLASM_STYLE ios64)
+if(NOT OPENSSL_NO_ASM)
+ if(UNIX)
+ if (${ARCH} STREQUAL "aarch64")
+ # The "armx" Perl scripts look for "64" in the style argument
+ # in order to decide whether to generate 32- or 64-bit asm.
+ if (APPLE)
+ set(PERLASM_STYLE ios64)
+ else()
+ set(PERLASM_STYLE linux64)
+ endif()
+ elseif (${ARCH} STREQUAL "arm")
+ if (APPLE)
+ set(PERLASM_STYLE ios32)
+ else()
+ set(PERLASM_STYLE linux32)
+ endif()
+ elseif (${ARCH} STREQUAL "ppc64le")
+ set(PERLASM_STYLE linux64le)
else()
- set(PERLASM_STYLE linux64)
+ if (${ARCH} STREQUAL "x86")
+ set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
+ endif()
+ if (APPLE)
+ set(PERLASM_STYLE macosx)
+ else()
+ set(PERLASM_STYLE elf)
+ endif()
endif()
- elseif (${ARCH} STREQUAL "arm")
- if (APPLE)
- set(PERLASM_STYLE ios32)
- else()
- set(PERLASM_STYLE linux32)
- endif()
- elseif (${ARCH} STREQUAL "ppc64le")
- set(PERLASM_STYLE ppc64le)
- else()
- if (${ARCH} STREQUAL "x86")
- set(PERLASM_FLAGS "-fPIC -DOPENSSL_IA32_SSE2")
- endif()
- if (APPLE)
- set(PERLASM_STYLE macosx)
- else()
- set(PERLASM_STYLE elf)
- endif()
- endif()
- set(ASM_EXT S)
- enable_language(ASM)
- set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
+ set(ASM_EXT S)
+ enable_language(ASM)
+ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack")
- # CMake does not add -isysroot and -arch flags to assembly.
- if (APPLE)
- set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot ${CMAKE_OSX_SYSROOT}")
- foreach(arch ${CMAKE_OSX_ARCHITECTURES})
- set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}")
- endforeach()
- endif()
-else()
- if (CMAKE_CL_64)
- message("Using nasm")
- set(PERLASM_STYLE nasm)
- else()
- message("Using win32n")
- set(PERLASM_STYLE win32n)
- set(PERLASM_FLAGS "-DOPENSSL_IA32_SSE2")
- endif()
+ # Clang's integerated assembler does not support debug symbols.
+ if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang")
+ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g")
+ endif()
- # On Windows, we use the NASM output, specifically built with Yasm.
- set(ASM_EXT asm)
- enable_language(ASM_NASM)
+ # CMake does not add -isysroot and -arch flags to assembly.
+ if (APPLE)
+ if (CMAKE_OSX_SYSROOT)
+ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot ${CMAKE_OSX_SYSROOT}")
+ endif()
+ foreach(arch ${CMAKE_OSX_ARCHITECTURES})
+ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -arch ${arch}")
+ endforeach()
+ endif()
+ else()
+ if (CMAKE_CL_64)
+ set(PERLASM_STYLE nasm)
+ else()
+ set(PERLASM_STYLE win32n)
+ set(PERLASM_FLAGS "-DOPENSSL_IA32_SSE2")
+ endif()
+
+ # On Windows, we use the NASM output, specifically built with Yasm.
+ set(ASM_EXT asm)
+ enable_language(ASM_NASM)
+ endif()
endif()
function(perlasm dest src)
@@ -80,7 +87,6 @@
add_subdirectory(pool)
# Level 0.2 - depends on nothing but itself
-add_subdirectory(des)
add_subdirectory(rc4)
add_subdirectory(conf)
add_subdirectory(chacha)
@@ -89,10 +95,10 @@
# Level 1, depends only on 0.*
add_subdirectory(digest_extra)
-add_subdirectory(cipher)
+add_subdirectory(cipher_extra)
add_subdirectory(rand_extra)
add_subdirectory(bio)
-add_subdirectory(bn)
+add_subdirectory(bn_extra)
add_subdirectory(obj)
add_subdirectory(asn1)
@@ -100,11 +106,10 @@
add_subdirectory(engine)
add_subdirectory(dh)
add_subdirectory(dsa)
-add_subdirectory(rsa)
-add_subdirectory(ec)
+add_subdirectory(rsa_extra)
+add_subdirectory(ec_extra)
add_subdirectory(ecdh)
-add_subdirectory(ecdsa)
-add_subdirectory(hmac_extra)
+add_subdirectory(ecdsa_extra)
# Level 3
add_subdirectory(cmac)
@@ -144,7 +149,7 @@
thread_win.c
)
-if(FIPS)
+if(FIPS_DELOCATE)
SET_SOURCE_FILES_PROPERTIES(fipsmodule/bcm.o PROPERTIES EXTERNAL_OBJECT true)
SET_SOURCE_FILES_PROPERTIES(fipsmodule/bcm.o PROPERTIES GENERATED true)
@@ -167,15 +172,14 @@
$<TARGET_OBJECTS:pool>
$<TARGET_OBJECTS:fipsmodule>
$<TARGET_OBJECTS:digest_extra>
- $<TARGET_OBJECTS:cipher>
- $<TARGET_OBJECTS:des>
+ $<TARGET_OBJECTS:cipher_extra>
$<TARGET_OBJECTS:rc4>
$<TARGET_OBJECTS:conf>
$<TARGET_OBJECTS:chacha>
$<TARGET_OBJECTS:poly1305>
$<TARGET_OBJECTS:curve25519>
$<TARGET_OBJECTS:buf>
- $<TARGET_OBJECTS:bn>
+ $<TARGET_OBJECTS:bn_extra>
$<TARGET_OBJECTS:bio>
$<TARGET_OBJECTS:rand_extra>
$<TARGET_OBJECTS:obj>
@@ -183,10 +187,10 @@
$<TARGET_OBJECTS:engine>
$<TARGET_OBJECTS:dh>
$<TARGET_OBJECTS:dsa>
- $<TARGET_OBJECTS:rsa>
- $<TARGET_OBJECTS:ec>
+ $<TARGET_OBJECTS:rsa_extra>
+ $<TARGET_OBJECTS:ec_extra>
$<TARGET_OBJECTS:ecdh>
- $<TARGET_OBJECTS:ecdsa>
+ $<TARGET_OBJECTS:ecdsa_extra>
$<TARGET_OBJECTS:cmac>
$<TARGET_OBJECTS:evp>
$<TARGET_OBJECTS:hkdf>
@@ -199,7 +203,7 @@
${CRYPTO_FIPS_OBJECTS}
)
-if(FIPS)
+if(FIPS_DELOCATE)
add_dependencies(crypto bcm_o_target)
endif()
@@ -209,26 +213,6 @@
target_link_libraries(crypto pthread)
endif()
-add_executable(
- thread_test
-
- thread_test.c
-
- $<TARGET_OBJECTS:test_support>
-)
-
-target_link_libraries(thread_test crypto)
-add_dependencies(all_tests thread_test)
-
-add_executable(
- refcount_test
-
- refcount_test.cc
-)
-
-target_link_libraries(refcount_test crypto)
-add_dependencies(all_tests refcount_test)
-
# TODO(davidben): Convert the remaining tests to GTest.
add_executable(
crypto_test
@@ -238,19 +222,46 @@
bio/bio_test.cc
bytestring/bytestring_test.cc
chacha/chacha_test.cc
+ cipher_extra/aead_test.cc
+ cipher_extra/cipher_test.cc
cmac/cmac_test.cc
compiler_test.cc
constant_time_test.cc
+ curve25519/ed25519_test.cc
curve25519/spake25519_test.cc
curve25519/x25519_test.cc
+ ecdh/ecdh_test.cc
dh/dh_test.cc
+ digest_extra/digest_test.cc
dsa/dsa_test.cc
- ec/ec_test.cc
err/err_test.cc
evp/evp_extra_test.cc
+ evp/evp_test.cc
+ evp/pbkdf_test.cc
+ evp/scrypt_test.cc
+ fipsmodule/aes/aes_test.cc
+ fipsmodule/bn/bn_test.cc
+ fipsmodule/ec/ec_test.cc
+ fipsmodule/ec/p256-x86_64_test.cc
+ fipsmodule/ecdsa/ecdsa_test.cc
+ fipsmodule/modes/gcm_test.cc
fipsmodule/rand/ctrdrbg_test.cc
- rsa/rsa_test.cc
+ hkdf/hkdf_test.cc
+ hmac_extra/hmac_test.cc
+ lhash/lhash_test.cc
+ obj/obj_test.cc
+ pkcs7/pkcs7_test.cc
+ pkcs8/pkcs8_test.cc
+ pkcs8/pkcs12_test.cc
+ poly1305/poly1305_test.cc
+ pool/pool_test.cc
+ refcount_test.cc
+ rsa_extra/rsa_test.cc
+ test/file_test_gtest.cc
+ thread_test.cc
+ x509/x509_test.cc
+ $<TARGET_OBJECTS:crypto_test_data>
$<TARGET_OBJECTS:gtest_main>
$<TARGET_OBJECTS:test_support>
)