summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Langley <agl@google.com>2015-04-20 16:00:28 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-04-20 16:00:28 +0000
commitd706386f41c0f4cdc4d6fe69b7c0f76f897ee4b5 (patch)
tree3aa14dddb3cd83f10f517f1854028082621058ce
parent21cf1bc5f95966bff28ca8067ae84acc67972e61 (diff)
parenteef60be96fb91dc632a18173b4a4f21e9813aba7 (diff)
downloadboringssl-d706386f41c0f4cdc4d6fe69b7c0f76f897ee4b5.tar.gz
am eef60be9: external/boringssl: try to fix aarch64+Clang.
* commit 'eef60be96fb91dc632a18173b4a4f21e9813aba7': external/boringssl: try to fix aarch64+Clang.
-rw-r--r--Android.mk10
-rw-r--r--linux-aarch64/crypto/aes/aesv8-armx.S5
-rw-r--r--linux-aarch64/crypto/modes/ghashv8-armx.S5
-rw-r--r--src/crypto/aes/asm/aesv8-armx.pl5
-rw-r--r--src/crypto/modes/asm/ghashv8-armx.pl5
5 files changed, 14 insertions, 16 deletions
diff --git a/Android.mk b/Android.mk
index 3fbff636..27e786d1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -13,6 +13,11 @@ LOCAL_MODULE := libcrypto_static
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
LOCAL_SDK_VERSION := 9
+ifeq ($(TARGET_ARCH),arm64)
+ifeq ($(USE_CLANG_PLATFORM_BUILD),true)
+LOCAL_ASFLAGS += -march=armv8-a+crypto
+endif
+endif
include $(LOCAL_PATH)/crypto-sources.mk
include $(BUILD_STATIC_LIBRARY)
@@ -24,6 +29,11 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/src/include
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/crypto-sources.mk
LOCAL_CFLAGS += -fvisibility=hidden -DBORINGSSL_SHARED_LIBRARY -DBORINGSSL_IMPLEMENTATION
LOCAL_SDK_VERSION := 9
+ifeq ($(TARGET_ARCH),arm64)
+ifeq ($(USE_CLANG_PLATFORM_BUILD),true)
+LOCAL_ASFLAGS += -march=armv8-a+crypto
+endif
+endif
include $(LOCAL_PATH)/crypto-sources.mk
include $(BUILD_SHARED_LIBRARY)
diff --git a/linux-aarch64/crypto/aes/aesv8-armx.S b/linux-aarch64/crypto/aes/aesv8-armx.S
index e3d4666d..e7ae46f9 100644
--- a/linux-aarch64/crypto/aes/aesv8-armx.S
+++ b/linux-aarch64/crypto/aes/aesv8-armx.S
@@ -2,10 +2,7 @@
#if __ARM_MAX_ARCH__>=7
.text
-#ifdef __clang__
-.arch armv8-a
-.arch_extension crypto
-#else
+#if !defined(__clang__)
.arch armv8-a+crypto
#endif
.align 5
diff --git a/linux-aarch64/crypto/modes/ghashv8-armx.S b/linux-aarch64/crypto/modes/ghashv8-armx.S
index 2da617f0..565146eb 100644
--- a/linux-aarch64/crypto/modes/ghashv8-armx.S
+++ b/linux-aarch64/crypto/modes/ghashv8-armx.S
@@ -1,10 +1,7 @@
#include "arm_arch.h"
.text
-#ifdef __clang__
-.arch armv8-a
-.arch_extension crypto
-#else
+#if !defined(__clang__)
.arch armv8-a+crypto
#endif
.global gcm_init_v8
diff --git a/src/crypto/aes/asm/aesv8-armx.pl b/src/crypto/aes/asm/aesv8-armx.pl
index 2f0aaae3..703da043 100644
--- a/src/crypto/aes/asm/aesv8-armx.pl
+++ b/src/crypto/aes/asm/aesv8-armx.pl
@@ -40,10 +40,7 @@ $code=<<___;
___
$code.=<<___ if ($flavour =~ /64/);
-#ifdef __clang__
-.arch armv8-a
-.arch_extension crypto
-#else
+#if !defined(__clang__)
.arch armv8-a+crypto
#endif
___
diff --git a/src/crypto/modes/asm/ghashv8-armx.pl b/src/crypto/modes/asm/ghashv8-armx.pl
index 40dca96f..08c8775b 100644
--- a/src/crypto/modes/asm/ghashv8-armx.pl
+++ b/src/crypto/modes/asm/ghashv8-armx.pl
@@ -45,10 +45,7 @@ $code=<<___;
.text
___
$code.=<<___ if ($flavour =~ /64/);
-#ifdef __clang__
-.arch armv8-a
-.arch_extension crypto
-#else
+#if !defined(__clang__)
.arch armv8-a+crypto
#endif
___