openssl: Fix build with clang

(From OE-Core rev: c8da8cec9007f77396f873f1cd56fc78bf83b19a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2017-03-20 09:47:33 -07:00 committed by Richard Purdie
parent b799e4a033
commit 231fae32d3
2 changed files with 52 additions and 2 deletions

View File

@ -0,0 +1,49 @@
From 2f6026cb8b16cf00726e3c5625c023f196680f07 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 17 Mar 2017 12:52:08 -0700
Subject: [PATCH] Fix build with clang using external assembler
Cherry-picked from
https://github.com/openssl/openssl/commit/11208dcfb9105e8afa37233185decefd45e89e17
https://github.com/openssl/openssl/commit/fbab8baddef8d3346ae40ff068871e2ddaf10270
https://github.com/openssl/openssl/commit/6cf412c473d8145562b76219ce3da73b201b3255
Fixes
| ghash-armv4.S: Assembler messages:
| ghash-armv4.S:81: Error: bad instruction `ldrbpl r12,[r2,r3]'
| ghash-armv4.S:91: Error: bad instruction `ldrbpl r8,[r0,r3]'
| ghash-armv4.S:137: Error: bad instruction `ldrbne r12,[r2,#15]'
| ghash-armv4.S:224: Error: bad instruction `ldrbpl r12,[r0,r3]'
| clang-4.0: error: assembler command failed with exit code 1 (use -v to see invocation)
| make[2]: *** [<builtin>: ghash-armv4.o] Error 1
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
crypto/modes/asm/ghash-armv4.pl | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl
index 8ccc963ef..442fed4da 100644
--- a/crypto/modes/asm/ghash-armv4.pl
+++ b/crypto/modes/asm/ghash-armv4.pl
@@ -124,7 +124,14 @@ $code=<<___;
#include "arm_arch.h"
.text
+#if defined(__thumb2__) || defined(__clang__)
+.syntax unified
+#endif
+#if defined(__thumb2__)
+.thumb
+#else
.code 32
+#endif
#ifdef __clang__
#define ldrplb ldrbpl
--
2.12.0

View File

@ -42,6 +42,7 @@ SRC_URI += "file://find.pl;subdir=${BP}/util/ \
file://parallel.patch \
file://openssl-util-perlpath.pl-cwd.patch \
file://Use-SHA256-not-MD5-as-default-digest.patch \
file://0001-Fix-build-with-clang-using-external-assembler.patch \
"
SRC_URI[md5sum] = "f965fc0bf01bf882b31314b61391ae65"
SRC_URI[sha256sum] = "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0"