openssl: disable libressl on uClibc noMMU
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 6 Nov 2017 09:54:21 +0000 (10:54 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 6 Nov 2017 14:17:45 +0000 (15:17 +0100)
uClibc doesn't implement __register_atfork() on noMMU systems, causing
a build failure of libressl. Since openssl is available as an
alternative on such platforms, we just disable libressl on
uClibc/noMMU systems.

Fixes:

/home/thomas/projets/buildroot/output/build/libressl-2.5.5/crypto/.libs/libcrypto.a(arc4random.o): In function `_rs_init.part.1':
arc4random.c:(.text+0x74): undefined reference to `__register_atfork'
collect2: error: ld returned 1 exit status

This build issue is not visible in the autobuilders, because libressl
is only selectable through a choice, which isn't randomized by the
autobuilder logic.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/openssl/Config.in

index e33320afc59115a8fd8f1bb49d61471dabdeec53..d84033141f59078b5d0293a0a1193589b7bd0069 100644 (file)
@@ -48,6 +48,8 @@ endif
 config BR2_PACKAGE_LIBRESSL
        bool "libressl"
        depends on !BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
+       # uClibc on noMMU doesn't provide __register_atfork()
+       depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU)
        help
          LibreSSL is a version of the TLS/crypto stack forked from
          OpenSSL in 2014, with goals of modernizing the codebase,