summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2015-04-18 23:09:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-18 23:09:27 +0000
commitdc5ad20a799d19a4c8b2531ddae7489d87de7db2 (patch)
treef48131c9ebbe4a471cceeb43eb30104d74504159
parent53b609c9db503488fc065728d214c9db67ad5740 (diff)
parentd18b6331a1802438e5d37fb2a397ae766dbdeb53 (diff)
downloadexternal_boringssl-dc5ad20a799d19a4c8b2531ddae7489d87de7db2.zip
external_boringssl-dc5ad20a799d19a4c8b2531ddae7489d87de7db2.tar.gz
external_boringssl-dc5ad20a799d19a4c8b2531ddae7489d87de7db2.tar.bz2
Merge "Use a different arch feature indicator for clang"
-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.pl10
-rw-r--r--src/crypto/modes/asm/ghashv8-armx.pl9
4 files changed, 27 insertions, 2 deletions
diff --git a/linux-aarch64/crypto/aes/aesv8-armx.S b/linux-aarch64/crypto/aes/aesv8-armx.S
index 0a4b1ac..e3d4666 100644
--- a/linux-aarch64/crypto/aes/aesv8-armx.S
+++ b/linux-aarch64/crypto/aes/aesv8-armx.S
@@ -2,7 +2,12 @@
#if __ARM_MAX_ARCH__>=7
.text
+#ifdef __clang__
+.arch armv8-a
+.arch_extension crypto
+#else
.arch armv8-a+crypto
+#endif
.align 5
rcon:
.long 0x01,0x01,0x01,0x01
diff --git a/linux-aarch64/crypto/modes/ghashv8-armx.S b/linux-aarch64/crypto/modes/ghashv8-armx.S
index 1bfb263..2da617f 100644
--- a/linux-aarch64/crypto/modes/ghashv8-armx.S
+++ b/linux-aarch64/crypto/modes/ghashv8-armx.S
@@ -1,7 +1,12 @@
#include "arm_arch.h"
.text
+#ifdef __clang__
+.arch armv8-a
+.arch_extension crypto
+#else
.arch armv8-a+crypto
+#endif
.global gcm_init_v8
.type gcm_init_v8,%function
.align 4
diff --git a/src/crypto/aes/asm/aesv8-armx.pl b/src/crypto/aes/asm/aesv8-armx.pl
index 1e93f86..2f0aaae 100644
--- a/src/crypto/aes/asm/aesv8-armx.pl
+++ b/src/crypto/aes/asm/aesv8-armx.pl
@@ -38,7 +38,15 @@ $code=<<___;
#if __ARM_MAX_ARCH__>=7
.text
___
-$code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/);
+
+$code.=<<___ if ($flavour =~ /64/);
+#ifdef __clang__
+.arch armv8-a
+.arch_extension crypto
+#else
+.arch armv8-a+crypto
+#endif
+___
$code.=".arch armv7-a\n.fpu neon\n.code 32\n" if ($flavour !~ /64/);
#^^^^^^ this is done to simplify adoption by not depending
# on latest binutils.
diff --git a/src/crypto/modes/asm/ghashv8-armx.pl b/src/crypto/modes/asm/ghashv8-armx.pl
index 54a1ac4..40dca96 100644
--- a/src/crypto/modes/asm/ghashv8-armx.pl
+++ b/src/crypto/modes/asm/ghashv8-armx.pl
@@ -44,7 +44,14 @@ $code=<<___;
.text
___
-$code.=".arch armv8-a+crypto\n" if ($flavour =~ /64/);
+$code.=<<___ if ($flavour =~ /64/);
+#ifdef __clang__
+.arch armv8-a
+.arch_extension crypto
+#else
+.arch armv8-a+crypto
+#endif
+___
$code.=".fpu neon\n.code 32\n" if ($flavour !~ /64/);
$code.=<<___;