summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2015-05-11 11:53:41 +0200
committerAndy Polyakov <appro@openssl.org>2015-05-13 18:02:21 +0200
commitf447329da7bf1e95691c8019af3e846002ba554d (patch)
tree13dfe474edf5c77aba5885d68bc138f7fea493fc
parent80b1e89bbc901a8f4a5e11945e367e0e0def11ec (diff)
Configure: add ios-cross target with ARM assembly support.
Reviewed-by: Dr. Stephen Henson <steve@openssl.org> (cherry picked from commit 97fbb0c88c2f601f98e25e57b9f6f9679d14f3a8) Resolved conflicts: Configure config
-rwxr-xr-xConfigure1
-rwxr-xr-xconfig4
-rw-r--r--fips/fips_test_suite.c6
-rw-r--r--fips/fipssyms.h10
4 files changed, 20 insertions, 1 deletions
diff --git a/Configure b/Configure
index 2785677a62..65e06f330a 100755
--- a/Configure
+++ b/Configure
@@ -597,6 +597,7 @@ my %table=(
# CROSS_SDK=iPhoneOS7.0.sdk
#
"iphoneos-cross","cc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
+"ios-cross","cc:-O3 -arch armv7 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:armcap.o armv4cpuid_ios.o:bn_asm.o armv4-mont.o armv4-gf2m.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large.o sha256-armv4.o sha512-armv4.o:::::::ghash-armv4.o::ios32:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"ios64-cross","cc:-O3 -arch arm64 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR -RC4_CHUNK DES_INT DES_UNROLL -BF_PTR:${aarch64_asm}:ios64:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
##### A/UX
diff --git a/config b/config
index fc78a30685..12f903048a 100755
--- a/config
+++ b/config
@@ -576,7 +576,9 @@ case "$GUESSOS" in
*-*-iphoneos)
options="$options -arch%20${MACHINE}"
OUT="iphoneos-cross" ;;
- arm64-*-iphoneos|*-*-ios64)
+ armv7-*-ios)
+ OUT="ios-cross" ;;
+ arm64-*-ios*)
OUT="ios64-cross" ;;
alpha-*-linux2)
ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
diff --git a/fips/fips_test_suite.c b/fips/fips_test_suite.c
index c7054db742..7813d25ee0 100644
--- a/fips/fips_test_suite.c
+++ b/fips/fips_test_suite.c
@@ -1611,6 +1611,12 @@ int main(int argc, char **argv)
FIPS_post_set_callback(post_cb);
+#if defined(__APPLE__) && (defined(__arm__) || defined(__aarch64__))
+ extern unsigned int OPENSSL_armcap_P;
+ if (0 == OPENSSL_armcap_P)
+ fprintf(stderr, "Optimizations disabled\n");
+#endif
+
printf("\tFIPS-mode test application\n");
printf("\t%s\n\n", FIPS_module_version_text());
diff --git a/fips/fipssyms.h b/fips/fipssyms.h
index f5d04d073c..76db619cec 100644
--- a/fips/fipssyms.h
+++ b/fips/fipssyms.h
@@ -701,6 +701,16 @@
#define _sha1_block_data_order _fips_sha1_block_data_order
#define _sha256_block_data_order _fips_sha256_block_data_order
#define _sha512_block_data_order _fips_sha512_block_data_order
+#define _AES_decrypt _fips_aes_decrypt
+#define _AES_encrypt _fips_aes_encrypt
+#define _AES_set_decrypt_key _fips_aes_set_decrypt_key
+#define _AES_set_encrypt_key _fips_aes_set_encrypt_key
+#define _gcm_gmult_4bit _fips_gcm_gmult_4bit
+#define _gcm_ghash_4bit _fips_gcm_ghash_4bit
+#define _gcm_gmult_neon _fips_gcm_gmult_neon
+#define _gcm_ghash_neon _fips_gcm_ghash_neon
+#define _bn_GF2m_mul_2x2 _fips_bn_GF2m_mul_2x2
+#define _OPENSSL_cleanse _FIPS_openssl_cleanse
#endif
#if defined(_MSC_VER)