[OE-core] [PATCH] openssl: Fix regression when building for thumb2

Khem Raj raj.khem at gmail.com
Fri Mar 24 16:42:54 UTC 2017


On Fri, Mar 24, 2017 at 8:01 AM, Max Krummenacher <max.oss.09 at gmail.com> wrote:
> Commit 'c8da8ce openssl: Fix build with clang' introduced a regression.
> do_compile fails when building with gcc/thumb2.
>
> Note that I did not test if it still builds with clang.
>
> Prevents the following when building with thumb2:
>

I sent out a similar patch. There are many thumb2 changes that would have
been needed to build this in thumb2 mode. So this patch is fine, which only
enables unified syntax for clang and leaves everything else same.

> | ghash-armv4.S: Assembler messages:
> | ghash-armv4.S:88: Error: thumb conditional instruction should be in IT block -- `ldrplb r12,[r2,r3]'
> | ghash-armv4.S:98: conditional infixes are deprecated in unified syntax
> | ghash-armv4.S:98: Error: thumb conditional instruction should be in IT block -- `ldrplb r8,[r0,r3]'
> | ghash-armv4.S:105: Error: thumb conditional instruction should be in IT block -- `eorpl r12,r12,r8'
> | ghash-armv4.S:107: Error: thumb conditional instruction should be in IT block -- `andpl r14,r12,#0xf0'
> | ghash-armv4.S:108: Error: thumb conditional instruction should be in IT block -- `andpl r12,r12,#0x0f'
> | ghash-armv4.S:144: conditional infixes are deprecated in unified syntax
> | ghash-armv4.S:144: Error: thumb conditional instruction should be in IT block -- `ldrneb r12,[r2,#15]'
> | ghash-armv4.S:231: conditional infixes are deprecated in unified syntax
> | ghash-armv4.S:231: Error: thumb conditional instruction should be in IT block -- `ldrplb r12,[r0,r3]'
> | ghash-armv4.S:248: Error: thumb conditional instruction should be in IT block -- `andpl r14,r12,#0xf0'
> | ghash-armv4.S:249: Error: thumb conditional instruction should be in IT block -- `andpl r12,r12,#0x0f'
>
> Signed-off-by: Max Krummenacher <max.krummenacher at toradex.com>
> ---
>  .../0001-Fix-build-with-clang-using-external-assembler.patch        | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch b/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch
> index 47b83a5..2270962 100644
> --- a/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch
> +++ b/meta/recipes-connectivity/openssl/openssl/0001-Fix-build-with-clang-using-external-assembler.patch
> @@ -29,18 +29,14 @@ 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=<<___;
> +@@ -124,7 +124,10 @@ $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.6.6
>



More information about the Openembedded-core mailing list