buildroot/package/libopenssl/Config.in
Thomas De Schampheleire 42718e13d2 package/libopenssl: fix target architecture for MIPS64n32
Commit 1ebb35ee5f changed the libopenssl
target architecture to 'linux-generic64' for 64-bit archs based on
BR2_ARCH_IS_64. However, MIPS64n32 has BR2_ARCH_IS_64 set, but is a 32-bit
ABI. On such board, libopenssl needs to be configured with linux-generic32
to function properly.

One symptom of this problem is that ssh-keygen hangs on key generation,
waiting for more random bits. See [1] for the discussion with openssl
upstream.

Thanks to Ronny Meeus for investigating the issue and kudos to the openssl
community for their responsive and helpful interaction!

Reported-by: Ronny Meeus <ronny.meeus@nokia.com>
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

[1] https://mta.openssl.org/pipermail/openssl-users/2020-June/012565.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-06-20 21:27:02 +02:00

48 lines
1.6 KiB
Plaintext

if BR2_PACKAGE_LIBOPENSSL
# 4xx PowerPC cores seem to have trouble with openssl's ASM
# optimizations
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
bool
default y if BR2_powerpc
depends on !BR2_powerpc_401
depends on !BR2_powerpc_403
depends on !BR2_powerpc_405
depends on !BR2_powerpc_405fp
depends on !BR2_powerpc_440
depends on !BR2_powerpc_440fp
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH
string
# Use "gcc" minimalistic target to disable DSO
# no-asm is needed with generic architectures such as gcc, see
# https://github.com/openssl/openssl/issues/9839
default "gcc no-asm" if BR2_STATIC_LIBS
# Doesn't work for thumb-only (Cortex-M?)
default "linux-armv4" if BR2_ARM_CPU_HAS_ARM
default "linux-aarch64" if BR2_aarch64
default "linux-ppc" if BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
default "linux-ppc64" if BR2_powerpc64
default "linux-ppc64le" if BR2_powerpc64le
default "linux-x86" if BR2_i386
default "linux-x86_64" if BR2_x86_64
# no-asm is needed with generic architectures such as
# linux-generic{32,64}, see
# https://github.com/openssl/openssl/issues/9839
default "linux-generic64 no-asm" if BR2_ARCH_IS_64 && !BR2_MIPS_NABI32
default "linux-generic32 no-asm"
config BR2_PACKAGE_LIBOPENSSL_BIN
bool "openssl binary"
help
Install the openssl binary and the associated helper scripts
to the target file system. This is a command line tool for
doing various cryptographic stuff.
config BR2_PACKAGE_LIBOPENSSL_ENGINES
bool "openssl additional engines"
help
Install additional encryption engine libraries.
endif # BR2_PACKAGE_LIBOPENSSL