Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 1 | From 2f6026cb8b16cf00726e3c5625c023f196680f07 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 17 Mar 2017 12:52:08 -0700 |
| 4 | Subject: [PATCH] Fix build with clang using external assembler |
| 5 | |
| 6 | Cherry-picked from |
| 7 | https://github.com/openssl/openssl/commit/11208dcfb9105e8afa37233185decefd45e89e17 |
| 8 | https://github.com/openssl/openssl/commit/fbab8baddef8d3346ae40ff068871e2ddaf10270 |
| 9 | https://github.com/openssl/openssl/commit/6cf412c473d8145562b76219ce3da73b201b3255 |
| 10 | |
| 11 | Fixes |
| 12 | |
| 13 | | ghash-armv4.S: Assembler messages: |
| 14 | | ghash-armv4.S:81: Error: bad instruction `ldrbpl r12,[r2,r3]' |
| 15 | | ghash-armv4.S:91: Error: bad instruction `ldrbpl r8,[r0,r3]' |
| 16 | | ghash-armv4.S:137: Error: bad instruction `ldrbne r12,[r2,#15]' |
| 17 | | ghash-armv4.S:224: Error: bad instruction `ldrbpl r12,[r0,r3]' |
| 18 | | clang-4.0: error: assembler command failed with exit code 1 (use -v to see invocation) |
| 19 | | make[2]: *** [<builtin>: ghash-armv4.o] Error 1 |
| 20 | |
| 21 | Upstream-Status: Backport |
| 22 | |
| 23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 24 | --- |
| 25 | crypto/modes/asm/ghash-armv4.pl | 7 +++++++ |
| 26 | 1 file changed, 7 insertions(+) |
| 27 | |
| 28 | diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl |
| 29 | index 8ccc963ef..442fed4da 100644 |
| 30 | --- a/crypto/modes/asm/ghash-armv4.pl |
| 31 | +++ b/crypto/modes/asm/ghash-armv4.pl |
| 32 | @@ -124,7 +124,10 @@ $code=<<___; |
| 33 | #include "arm_arch.h" |
| 34 | |
| 35 | .text |
| 36 | +#if defined(__thumb2__) || defined(__clang__) |
| 37 | +.syntax unified |
| 38 | +#endif |
| 39 | .code 32 |
| 40 | |
| 41 | #ifdef __clang__ |
| 42 | #define ldrplb ldrbpl |
| 43 | -- |
| 44 | 2.12.0 |
| 45 | |