aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2015-01-16 19:01:11 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-01-16 19:01:11 +0000
commit9f360dc836a27d1f2da22042cb2511d237e99fcd (patch)
tree71dc1f3f0c0710bb4dd723cc0285490ae0cb5063
parent21b86b154c3cbb88bca801b07e93db4fc8face8e (diff)
parentdecb19d2ac2fdad6c7f18e920073467c751b616c (diff)
downloadopenssl-9f360dc836a27d1f2da22042cb2511d237e99fcd.tar.gz
am decb19d2: Merge "[MIPS] Add mips64 and mips r6 targets."
* commit 'decb19d2ac2fdad6c7f18e920073467c751b616c': [MIPS] Add mips64 and mips r6 targets.
-rw-r--r--Apps-config-host.mk22
-rw-r--r--Apps-config-target.mk26
-rw-r--r--Crypto-config-host.mk24
-rw-r--r--Crypto-config-target.mk28
-rw-r--r--Crypto-config-trusty.mk26
-rw-r--r--Ssl-config-host.mk22
-rw-r--r--Ssl-config-target.mk26
-rwxr-xr-ximport_openssl.sh18
-rw-r--r--openssl.config24
9 files changed, 214 insertions, 2 deletions
diff --git a/Apps-config-host.mk b/Apps-config-host.mk
index 3778f7b95f..baf5a6a1cd 100644
--- a/Apps-config-host.mk
+++ b/Apps-config-host.mk
@@ -114,6 +114,28 @@ mips_src_files :=
mips_exclude_files :=
+mips64_clang_asflags :=
+
+mips64_cflags :=
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags :=
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
+
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes) $(local_c_includes)
diff --git a/Apps-config-target.mk b/Apps-config-target.mk
index 3f3aefd635..f2bb032d3a 100644
--- a/Apps-config-target.mk
+++ b/Apps-config-target.mk
@@ -114,6 +114,28 @@ mips_src_files :=
mips_exclude_files :=
+mips64_clang_asflags :=
+
+mips64_cflags :=
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags :=
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
+
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes)
@@ -137,3 +159,7 @@ LOCAL_CLANG_ASFLAGS_x86_64 += $(x86_64_clang_asflags)
LOCAL_SRC_FILES_mips += $(filter-out $(mips_exclude_files),$(common_src_files) $(mips_src_files))
LOCAL_CFLAGS_mips += $(mips_cflags)
LOCAL_CLANG_ASFLAGS_mips += $(mips_clang_asflags)
+
+LOCAL_SRC_FILES_mips64 += $(filter-out $(mips64_exclude_files),$(common_src_files) $(mips64_src_files))
+LOCAL_CFLAGS_mips64 += $(mips64_cflags)
+LOCAL_CLANG_ASFLAGS_mips64 += $(mips64_clang_asflags)
diff --git a/Crypto-config-host.mk b/Crypto-config-host.mk
index 7207c23dc1..6cd5c0b682 100644
--- a/Crypto-config-host.mk
+++ b/Crypto-config-host.mk
@@ -709,12 +709,36 @@ mips_exclude_files := \
crypto/aes/aes_core.c \
crypto/bn/bn_asm.c \
+mips64_clang_asflags :=
+
+mips64_cflags := \
+ -DOPENSSL_NO_ASM \
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags := \
+ -DOPENSSL_NO_ASM \
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
# "Temporary" hack until this can be fixed in openssl.config
x86_64_cflags += -DRC4_INT="unsigned int"
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
+
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes) $(local_c_includes)
diff --git a/Crypto-config-target.mk b/Crypto-config-target.mk
index a4bf069a57..7fb86f5fd4 100644
--- a/Crypto-config-target.mk
+++ b/Crypto-config-target.mk
@@ -709,12 +709,36 @@ mips_exclude_files := \
crypto/aes/aes_core.c \
crypto/bn/bn_asm.c \
+mips64_clang_asflags :=
+
+mips64_cflags := \
+ -DOPENSSL_NO_ASM \
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags := \
+ -DOPENSSL_NO_ASM \
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
# "Temporary" hack until this can be fixed in openssl.config
x86_64_cflags += -DRC4_INT="unsigned int"
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
+
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes)
@@ -737,3 +761,7 @@ LOCAL_CLANG_ASFLAGS_x86_64 += $(x86_64_clang_asflags)
LOCAL_SRC_FILES_mips += $(filter-out $(mips_exclude_files),$(common_src_files) $(mips_src_files))
LOCAL_CFLAGS_mips += $(mips_cflags)
LOCAL_CLANG_ASFLAGS_mips += $(mips_clang_asflags)
+
+LOCAL_SRC_FILES_mips64 += $(filter-out $(mips64_exclude_files),$(common_src_files) $(mips64_src_files))
+LOCAL_CFLAGS_mips64 += $(mips64_cflags)
+LOCAL_CLANG_ASFLAGS_mips64 += $(mips64_clang_asflags)
diff --git a/Crypto-config-trusty.mk b/Crypto-config-trusty.mk
index 05ec1df96d..cc22723ba0 100644
--- a/Crypto-config-trusty.mk
+++ b/Crypto-config-trusty.mk
@@ -253,9 +253,31 @@ mips_src_files :=
mips_exclude_files :=
+mips64_clang_asflags :=
+
+mips64_cflags :=
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags :=
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
+
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes)
@@ -278,3 +300,7 @@ LOCAL_CLANG_ASFLAGS_x86_64 += $(x86_64_clang_asflags)
LOCAL_SRC_FILES_mips += $(filter-out $(mips_exclude_files),$(common_src_files) $(mips_src_files))
LOCAL_CFLAGS_mips += $(mips_cflags)
LOCAL_CLANG_ASFLAGS_mips += $(mips_clang_asflags)
+
+LOCAL_SRC_FILES_mips64 += $(filter-out $(mips64_exclude_files),$(common_src_files) $(mips64_src_files))
+LOCAL_CFLAGS_mips64 += $(mips64_cflags)
+LOCAL_CLANG_ASFLAGS_mips64 += $(mips64_clang_asflags)
diff --git a/Ssl-config-host.mk b/Ssl-config-host.mk
index ac1b1bba8e..8f3bdce5a1 100644
--- a/Ssl-config-host.mk
+++ b/Ssl-config-host.mk
@@ -109,9 +109,31 @@ mips_src_files :=
mips_exclude_files :=
+mips64_clang_asflags :=
+
+mips64_cflags :=
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags :=
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
+
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes) $(local_c_includes)
diff --git a/Ssl-config-target.mk b/Ssl-config-target.mk
index c3c37492f6..30a2621dcd 100644
--- a/Ssl-config-target.mk
+++ b/Ssl-config-target.mk
@@ -109,9 +109,31 @@ mips_src_files :=
mips_exclude_files :=
+mips64_clang_asflags :=
+
+mips64_cflags :=
+
+mips64_src_files :=
+
+mips64_exclude_files :=
+
+mips32r6_clang_asflags :=
+
+mips32r6_cflags :=
+
+mips32r6_src_files :=
+
+mips32r6_exclude_files :=
+
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
+ifdef ARCH_MIPS_REV6
+mips_cflags := $(mips32r6_cflags)
+mips_src_files := $(mips32r6_src_files)
+mips_exclude_files := $(mips32r6_exclude_files)
+endif
+
LOCAL_CFLAGS += $(common_cflags)
LOCAL_C_INCLUDES += $(common_c_includes)
@@ -134,3 +156,7 @@ LOCAL_CLANG_ASFLAGS_x86_64 += $(x86_64_clang_asflags)
LOCAL_SRC_FILES_mips += $(filter-out $(mips_exclude_files),$(common_src_files) $(mips_src_files))
LOCAL_CFLAGS_mips += $(mips_cflags)
LOCAL_CLANG_ASFLAGS_mips += $(mips_clang_asflags)
+
+LOCAL_SRC_FILES_mips64 += $(filter-out $(mips64_exclude_files),$(common_src_files) $(mips64_src_files))
+LOCAL_CFLAGS_mips64 += $(mips64_cflags)
+LOCAL_CLANG_ASFLAGS_mips64 += $(mips64_clang_asflags)
diff --git a/import_openssl.sh b/import_openssl.sh
index c60408899a..b20c25e0c8 100755
--- a/import_openssl.sh
+++ b/import_openssl.sh
@@ -149,6 +149,8 @@ function gen_asm_mips () {
CC=true $PERL_EXE "$1" o32 > "$OUT"
}
+# TODO: gen_asm_mips64
+
function gen_asm_x86 () {
local OUT
OUT=$(default_asm_file "$@")
@@ -409,7 +411,8 @@ print_defines_in_mk() {
function generate_config_mk() {
declare -r output="$1"
declare -r prefix="$2"
- declare -r all_archs="arm arm64 x86 x86_64 mips"
+ declare -r all_archs="arm arm64 x86 x86_64 mips mips64"
+ declare -r variant_archs="mips32r6"
echo "Generating $(basename $output)"
(
@@ -441,7 +444,7 @@ LOCAL_ADDITIONAL_DEPENDENCIES += \$(LOCAL_PATH)/$(basename $output)
common_includes=$(var_sorted_value OPENSSL_${prefix}_INCLUDES)
print_vardef_with_prefix_in_mk common_c_includes external/openssl/ $common_includes
- for arch in $all_archs; do
+ for arch in $all_archs $variant_archs; do
arch_clang_asflags=$(var_sorted_value OPENSSL_${prefix}_CLANG_ASFLAGS_${arch})
print_vardef_in_mk ${arch}_clang_asflags $arch_clang_asflags
@@ -467,6 +470,13 @@ x86_64_cflags += -DRC4_INT=\"unsigned int\""
LOCAL_EXPORT_C_INCLUDE_DIRS := \$(LOCAL_PATH)/include"
fi
+ echo "
+ifdef ARCH_MIPS_REV6
+mips_cflags := \$(mips32r6_cflags)
+mips_src_files := \$(mips32r6_src_files)
+mips_exclude_files := \$(mips32r6_exclude_files)
+endif"
+
if [ $3 == "target" ]; then
echo "
LOCAL_CFLAGS += \$(common_cflags)
@@ -550,6 +560,10 @@ function import() {
gen_asm_mips crypto/sha/asm/sha1-mips.pl
gen_asm_mips crypto/sha/asm/sha512-mips.pl crypto/sha/asm/sha256-mips.S
+ # TODO: Generate mips32r6 asm
+
+ # TODO: Generate mips64 asm
+
# Generate x86 asm
gen_asm_x86 crypto/x86cpuid.pl
gen_asm_x86 crypto/aes/asm/aes-586.pl
diff --git a/openssl.config b/openssl.config
index 9edd51e2cb..c8b3dbde01 100644
--- a/openssl.config
+++ b/openssl.config
@@ -275,6 +275,16 @@ SHA1_ASM \
SHA256_ASM \
"
+# TODO: generate *-mips32r6.S files
+OPENSSL_CRYPTO_DEFINES_mips32r6="\
+OPENSSL_NO_ASM \
+"
+
+# TODO: generate *-mips64.S files
+OPENSSL_CRYPTO_DEFINES_mips64="\
+OPENSSL_NO_ASM \
+"
+
OPENSSL_CRYPTO_DEFINES_x86="\
AES_ASM \
DES_PTR \
@@ -884,6 +894,20 @@ crypto/aes/aes_core.c \
crypto/bn/bn_asm.c \
"
+# TODO: generate *-mips32r6.S files
+OPENSSL_CRYPTO_SOURCES_mips32r6="\
+"
+
+OPENSSL_CRYPTO_SOURCES_EXCLUDES_mips32r6="\
+"
+
+# TODO: generate *-mips64.S files
+OPENSSL_CRYPTO_SOURCES_mips64="\
+"
+
+OPENSSL_CRYPTO_SOURCES_EXCLUDES_mips64="\
+"
+
OPENSSL_CRYPTO_SOURCES_x86="\
crypto/aes/asm/aes-586.S \
crypto/aes/asm/aesni-x86.S \