[v3,1/1] package/libopenssl: set no-asm with generic architectures
diff mbox series

Message ID 20191017165559.9662-1-fontaine.fabrice@gmail.com
State Superseded
Headers show
Series
  • [v3,1/1] package/libopenssl: set no-asm with generic architectures
Related show

Commit Message

Fabrice Fontaine Oct. 17, 2019, 4:55 p.m. UTC
Use no-asm when building statically with a generic architecture such as
gcc or linux-generic32, see
https://github.com/openssl/openssl/issues/9839

This will fix a static build failure on x86_64 due to the removal of
x86/x86_64 BSAES and AES_ASM support by
https://github.com/openssl/openssl/commit/87bea6550ae0dda7c40937cff2e86cc2b0b09491

Fixes:
 - http://autobuild.buildroot.org/results/e4f04bb13ec1b82b73db645bea4933e52bca4185

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
Changes v2 -> v3 (after review of Thomas Petazzoni):
 - Set no-asm with linux-generic32

Changes v1 -> v2 (after review of Thomas Petazzoni):
 - Set no-asm with all static builds and not only x86_64

 package/libopenssl/libopenssl.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Thomas Petazzoni Oct. 18, 2019, 9:55 a.m. UTC | #1
On Thu, 17 Oct 2019 18:55:59 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> +# no-asm is needed with generic architectures such as linux-generic32, see
> +# https://github.com/openssl/openssl/issues/9839
> +LIBOPENSSL_TARGET_ARCH = gcc no-asm
> +LIBOPENSSL_TARGET_ARCH = linux-generic32 no-asm

You assign two times the same variable ? Seems like the first
assignment here is a bit useless, no ?

Thomas

Patch
diff mbox series

diff --git a/package/libopenssl/libopenssl.mk b/package/libopenssl/libopenssl.mk
index 4a430bcb4d..59f2cf18eb 100644
--- a/package/libopenssl/libopenssl.mk
+++ b/package/libopenssl/libopenssl.mk
@@ -12,7 +12,10 @@  LIBOPENSSL_LICENSE_FILES = LICENSE
 LIBOPENSSL_INSTALL_STAGING = YES
 LIBOPENSSL_DEPENDENCIES = zlib
 HOST_LIBOPENSSL_DEPENDENCIES = host-zlib
-LIBOPENSSL_TARGET_ARCH = linux-generic32
+# no-asm is needed with generic architectures such as linux-generic32, see
+# https://github.com/openssl/openssl/issues/9839
+LIBOPENSSL_TARGET_ARCH = gcc no-asm
+LIBOPENSSL_TARGET_ARCH = linux-generic32 no-asm
 LIBOPENSSL_CFLAGS = $(TARGET_CFLAGS)
 LIBOPENSSL_PROVIDES = openssl
 
@@ -55,7 +58,9 @@  endif
 
 ifeq ($(BR2_STATIC_LIBS),y)
 # Use "gcc" minimalistic target to disable DSO
-LIBOPENSSL_TARGET_ARCH = gcc
+# no-asm is needed with generic architectures such as gcc, see
+# https://github.com/openssl/openssl/issues/9839
+LIBOPENSSL_TARGET_ARCH = gcc no-asm
 else
 # Some architectures are optimized in OpenSSL
 # Doesn't work for thumb-only (Cortex-M?)