<div dir="ltr">This breaks build with default gcc with thumb enabled:<div><br><div><div>arm-oe-linux-gnueabi-gcc -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -mcpu=cortex-a9 -mtune=cortex-a9 -funwind-tables -rdynamic --sysroot=WORKDIR/recipe-sysroot -I.. -I../.. -I../modes -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=WORKDIR=/usr/src/debug/openssl/1.0.2k-r0 -fdebug-prefix-map=WORKDIR/recipe-sysroot-native= -fdebug-prefix-map=WORKDIR/recipe-sysroot= -Wall -Wa,--noexecstack -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM -c -c -o ghash-armv4.o ghash-armv4.S</div><div>ghash-armv4.S: Assembler messages:</div><div>ghash-armv4.S:88: conditional infixes are deprecated in unified syntax</div><div>ghash-armv4.S:88: Error: thumb conditional instruction should be in IT block -- `ldrplb r12,[r2,r3]'</div><div>ghash-armv4.S:98: conditional infixes are deprecated in unified syntax</div><div>ghash-armv4.S:98: Error: thumb conditional instruction should be in IT block -- `ldrplb r8,[r0,r3]'</div><div>ghash-armv4.S:105: Error: thumb conditional instruction should be in IT block -- `eorpl r12,r12,r8'</div><div>ghash-armv4.S:107: Error: thumb conditional instruction should be in IT block -- `andpl r14,r12,#0xf0'</div><div>ghash-armv4.S:108: Error: thumb conditional instruction should be in IT block -- `andpl r12,r12,#0x0f'</div><div>ghash-armv4.S:144: conditional infixes are deprecated in unified syntax</div><div>ghash-armv4.S:144: Error: thumb conditional instruction should be in IT block -- `ldrneb r12,[r2,#15]'</div><div>ghash-armv4.S:231: conditional infixes are deprecated in unified syntax</div><div>ghash-armv4.S:231: Error: thumb conditional instruction should be in IT block -- `ldrplb r12,[r0,r3]'</div><div>ghash-armv4.S:248: Error: thumb conditional instruction should be in IT block -- `andpl r14,r12,#0xf0'</div><div>ghash-armv4.S:249: Error: thumb conditional instruction should be in IT block -- `andpl r12,r12,#0x0f'</div><div>make[2]: *** [ghash-armv4.o] Error 1</div></div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 20, 2017 at 5:47 PM, Khem Raj <span dir="ltr"><<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Signed-off-by: Khem Raj <<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>><br>
---<br>
...build-with-clang-using-<wbr>external-assembler.patch | 49 ++++++++++++++++++++++<br>
.../recipes-connectivity/<wbr>openssl/<a href="http://openssl_1.0.2k.bb" rel="noreferrer" target="_blank">openssl_1.0.2k.bb</a> | 5 ++-<br>
2 files changed, 52 insertions(+), 2 deletions(-)<br>
create mode 100644 meta/recipes-connectivity/<wbr>openssl/openssl/0001-Fix-<wbr>build-with-clang-using-<wbr>external-assembler.patch<br>
<br>
diff --git a/meta/recipes-connectivity/<wbr>openssl/openssl/0001-Fix-<wbr>build-with-clang-using-<wbr>external-assembler.patch b/meta/recipes-connectivity/<wbr>openssl/openssl/0001-Fix-<wbr>build-with-clang-using-<wbr>external-assembler.patch<br>
new file mode 100644<br>
index 0000000000..47b83a5896<br>
--- /dev/null<br>
+++ b/meta/recipes-connectivity/<wbr>openssl/openssl/0001-Fix-<wbr>build-with-clang-using-<wbr>external-assembler.patch<br>
@@ -0,0 +1,49 @@<br>
+From 2f6026cb8b16cf00726e3c5625c023<wbr>f196680f07 Mon Sep 17 00:00:00 2001<br>
+From: Khem Raj <<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>><br>
+Date: Fri, 17 Mar 2017 12:52:08 -0700<br>
+Subject: [PATCH] Fix build with clang using external assembler<br>
+<br>
+Cherry-picked from<br>
+<a href="https://github.com/openssl/openssl/commit/11208dcfb9105e8afa37233185decefd45e89e17" rel="noreferrer" target="_blank">https://github.com/openssl/<wbr>openssl/commit/<wbr>11208dcfb9105e8afa37233185dece<wbr>fd45e89e17</a><br>
+<a href="https://github.com/openssl/openssl/commit/fbab8baddef8d3346ae40ff068871e2ddaf10270" rel="noreferrer" target="_blank">https://github.com/openssl/<wbr>openssl/commit/<wbr>fbab8baddef8d3346ae40ff068871e<wbr>2ddaf10270</a><br>
+<a href="https://github.com/openssl/openssl/commit/6cf412c473d8145562b76219ce3da73b201b3255" rel="noreferrer" target="_blank">https://github.com/openssl/<wbr>openssl/commit/<wbr>6cf412c473d8145562b76219ce3da7<wbr>3b201b3255</a><br>
+<br>
+Fixes<br>
+<br>
+| ghash-armv4.S: Assembler messages:<br>
+| ghash-armv4.S:81: Error: bad instruction `ldrbpl r12,[r2,r3]'<br>
+| ghash-armv4.S:91: Error: bad instruction `ldrbpl r8,[r0,r3]'<br>
+| ghash-armv4.S:137: Error: bad instruction `ldrbne r12,[r2,#15]'<br>
+| ghash-armv4.S:224: Error: bad instruction `ldrbpl r12,[r0,r3]'<br>
+| clang-4.0: error: assembler command failed with exit code 1 (use -v to see invocation)<br>
+| make[2]: *** [<builtin>: ghash-armv4.o] Error 1<br>
+<br>
+Upstream-Status: Backport<br>
+<br>
+Signed-off-by: Khem Raj <<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>><br>
+---<br>
+ crypto/modes/asm/<a href="http://ghash-armv4.pl" rel="noreferrer" target="_blank">ghash-armv4.<wbr>pl</a> | 7 +++++++<br>
+ 1 file changed, 7 insertions(+)<br>
+<br>
+diff --git a/crypto/modes/asm/<a href="http://ghash-armv4.pl" rel="noreferrer" target="_blank">ghash-<wbr>armv4.pl</a> b/crypto/modes/asm/<a href="http://ghash-armv4.pl" rel="noreferrer" target="_blank">ghash-<wbr>armv4.pl</a><br>
+index 8ccc963ef..442fed4da 100644<br>
+--- a/crypto/modes/asm/<a href="http://ghash-armv4.pl" rel="noreferrer" target="_blank">ghash-<wbr>armv4.pl</a><br>
++++ b/crypto/modes/asm/<a href="http://ghash-armv4.pl" rel="noreferrer" target="_blank">ghash-<wbr>armv4.pl</a><br>
+@@ -124,7 +124,14 @@ $code=<<___;<br>
+ #include "arm_arch.h"<br>
+<br>
+ .text<br>
++#if defined(__thumb2__) || defined(__clang__)<br>
++.syntax unified<br>
++#endif<br>
++#if defined(__thumb2__)<br>
++.thumb<br>
++#else<br>
+ .code 32<br>
++#endif<br>
+<br>
+ #ifdef __clang__<br>
+ #define ldrplb ldrbpl<br>
+--<br>
+2.12.0<br>
+<br>
diff --git a/meta/recipes-connectivity/<wbr>openssl/<a href="http://openssl_1.0.2k.bb" rel="noreferrer" target="_blank">openssl_1.0.2k.bb</a> b/meta/recipes-connectivity/<wbr>openssl/<a href="http://openssl_1.0.2k.bb" rel="noreferrer" target="_blank">openssl_1.0.2k.bb</a><br>
index 922819b3d5..1c1041428c 100644<br>
--- a/meta/recipes-connectivity/<wbr>openssl/<a href="http://openssl_1.0.2k.bb" rel="noreferrer" target="_blank">openssl_1.0.2k.bb</a><br>
+++ b/meta/recipes-connectivity/<wbr>openssl/<a href="http://openssl_1.0.2k.bb" rel="noreferrer" target="_blank">openssl_1.0.2k.bb</a><br>
@@ -37,12 +37,13 @@ SRC_URI += "file://<a href="http://find.pl" rel="noreferrer" target="_blank">find.pl</a>;subdir=${BP}/<wbr>util/ \<br>
file://Makefiles-ptest.patch \<br>
file://ptest-deps.patch \<br>
file://openssl-1.0.2a-x32-asm.<wbr>patch \<br>
- file://ptest_makefile_deps.<wbr>patch \<br>
+ file://ptest_makefile_deps.<wbr>patch \<br>
file://configure-musl-target.<wbr>patch \<br>
file://parallel.patch \<br>
file://openssl-util-perlpath.<wbr>pl-cwd.patch \<br>
file://Use-SHA256-not-MD5-as-<wbr>default-digest.patch \<br>
- "<br>
+ file://0001-Fix-build-with-<wbr>clang-using-external-<wbr>assembler.patch \<br>
+ "<br>
SRC_URI[md5sum] = "<wbr>f965fc0bf01bf882b31314b61391ae<wbr>65"<br>
SRC_URI[sha256sum] = "<wbr>6b3977c61f2aedf0f96367dcfb5c6e<wbr>578cf37e7b8d913b4ecb6643c3cb88<wbr>d8c0"<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.12.0<br>
<br>
--<br>
______________________________<wbr>_________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
</font></span></blockquote></div><br></div>