[LEDE-DEV] uboot-mxs: fix compile problems related to OpenSSL

Michael Heimpold mhei at heimpold.de
Sat Mar 17 04:34:48 PDT 2018


Hi Hauke,

some comments below.

Am Freitag, 16. März 2018, 19:05:10 CET schrieb Hauke Mehrtens:
> Use the UBOOT_MAKE_FLAGS defined in include/u-boot.mk and do not
> overwrite them to compile the host tools against the shipped LibreSSL.
> In addition add a patch to fix a compile problem when compiling the
> tools against LibreSSL caused by differences in the API between OpenSSL
> 1.1 and LibreSSL.
> 
> This should fix the compile problems seen in build bot from time to time
> by not depending on the host libssl-dev package any more but using the
> LibreSSL version from OpenWrt.
> 
> Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
> ---
>  package/boot/uboot-mxs/Makefile                    |  2 +-
>  .../uboot-mxs/patches/001-add-i2se-duckbill.patch  | 26 ----------------------

Changes in this file are not related to the patch description and this makes
it hard to review your intended changes. Is it possible to re-submit a version
without touching this file at all? I would really appreciate this.

>  ...s-mxsimage-Support-building-with-LibreSSL.patch | 25 +++++++++++++++++++++
>  3 files changed, 26 insertions(+), 27 deletions(-)
>  create mode 100644 package/boot/uboot-mxs/patches/002-tools-mxsimage-Support-building-with-LibreSSL.patch
> 
> diff --git a/package/boot/uboot-mxs/Makefile b/package/boot/uboot-mxs/Makefile
> index 6fde52ef56..cd752bb81a 100644
> --- a/package/boot/uboot-mxs/Makefile
> +++ b/package/boot/uboot-mxs/Makefile
> @@ -35,7 +35,7 @@ UBOOT_TARGETS := \
>  	mx23_olinuxino \
>  	duckbill
>  
> -UBOOT_MAKE_FLAGS = $(UBOOT_IMAGE)
> +UBOOT_MAKE_FLAGS += $(UBOOT_IMAGE)
>  
>  define Build/InstallDev
>  	$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
> diff --git a/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch b/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch
> index 15217b57ee..1ad67fbba8 100644
> --- a/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch
> +++ b/package/boot/uboot-mxs/patches/001-add-i2se-duckbill.patch
> @@ -43,8 +43,6 @@ Signed-off-by: Stefan Wahren <stefan.wahren at i2se.com>
>   create mode 100644 configs/duckbill_defconfig
>   create mode 100644 include/configs/duckbill.h
>  
> -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> -index 30e71b2..b77e778 100644
>  --- a/arch/arm/Kconfig
>  +++ b/arch/arm/Kconfig
>  @@ -373,6 +373,12 @@ config TARGET_MX28EVK
> @@ -77,9 +75,6 @@ index 30e71b2..b77e778 100644
>           default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
>   	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
>   
> -diff --git a/board/i2se/duckbill/Kconfig b/board/i2se/duckbill/Kconfig
> -new file mode 100644
> -index 0000000..98c1e46
>  --- /dev/null
>  +++ b/board/i2se/duckbill/Kconfig
>  @@ -0,0 +1,15 @@
> @@ -98,9 +93,6 @@ index 0000000..98c1e46
>  +	default "duckbill"
>  +
>  +endif
> -diff --git a/board/i2se/duckbill/MAINTAINERS b/board/i2se/duckbill/MAINTAINERS
> -new file mode 100644
> -index 0000000..5496baa
>  --- /dev/null
>  +++ b/board/i2se/duckbill/MAINTAINERS
>  @@ -0,0 +1,6 @@
> @@ -110,9 +102,6 @@ index 0000000..5496baa
>  +F:	board/i2se/duckbill/
>  +F:	include/configs/duckbill.h
>  +F:	configs/duckbill_defconfig
> -diff --git a/board/i2se/duckbill/Makefile b/board/i2se/duckbill/Makefile
> -new file mode 100644
> -index 0000000..66baec4
>  --- /dev/null
>  +++ b/board/i2se/duckbill/Makefile
>  @@ -0,0 +1,12 @@
> @@ -128,9 +117,6 @@ index 0000000..66baec4
>  +else
>  +obj-y	:= iomux.o
>  +endif
> -diff --git a/board/i2se/duckbill/duckbill.c b/board/i2se/duckbill/duckbill.c
> -new file mode 100644
> -index 0000000..caeb903
>  --- /dev/null
>  +++ b/board/i2se/duckbill/duckbill.c
>  @@ -0,0 +1,181 @@
> @@ -315,9 +301,6 @@ index 0000000..caeb903
>  +
>  +	return 0;
>  +}
> -diff --git a/board/i2se/duckbill/iomux.c b/board/i2se/duckbill/iomux.c
> -new file mode 100644
> -index 0000000..b3c4d92
>  --- /dev/null
>  +++ b/board/i2se/duckbill/iomux.c
>  @@ -0,0 +1,157 @@
> @@ -478,9 +461,6 @@ index 0000000..b3c4d92
>  +	else
>  +		mxs_iomux_setup_multiple_pads(iomux_setup_v1, ARRAY_SIZE(iomux_setup_v1));
>  +}
> -diff --git a/configs/duckbill_defconfig b/configs/duckbill_defconfig
> -new file mode 100644
> -index 0000000..2adce92
>  --- /dev/null
>  +++ b/configs/duckbill_defconfig
>  @@ -0,0 +1,31 @@
> @@ -515,9 +495,6 @@ index 0000000..2adce92
>  +CONFIG_ENV_IS_IN_MMC=y
>  +CONFIG_MMC_MXS=y
>  +CONFIG_OF_LIBFDT=y
> -diff --git a/include/configs/duckbill.h b/include/configs/duckbill.h
> -new file mode 100644
> -index 0000000..f9374c6
>  --- /dev/null
>  +++ b/include/configs/duckbill.h
>  @@ -0,0 +1,199 @@
> @@ -720,6 +697,3 @@ index 0000000..f9374c6
>  +#include <configs/mxs.h>
>  +
>  +#endif /* __CONFIGS_DUCKBILL_H__ */
> --- 
> -2.7.4
> -
> diff --git a/package/boot/uboot-mxs/patches/002-tools-mxsimage-Support-building-with-LibreSSL.patch b/package/boot/uboot-mxs/patches/002-tools-mxsimage-Support-building-with-LibreSSL.patch
> new file mode 100644
> index 0000000000..1870fd094e
> --- /dev/null
> +++ b/package/boot/uboot-mxs/patches/002-tools-mxsimage-Support-building-with-LibreSSL.patch
> @@ -0,0 +1,25 @@
> +From 461e8174de320dac1aee1c1b61a9f0f5cfc38a00 Mon Sep 17 00:00:00 2001
> +From: Hauke Mehrtens <hauke at hauke-m.de>
> +Date: Sat, 17 Feb 2018 15:34:19 +0100
> +Subject: [PATCH] tools/mxsimage: Support building with LibreSSL
> +
> +The mxsimage utility fails to compile against LibreSSL because LibreSSL
> +says it is OpenSSL 2.0, but it does not support the complete OpenSSL 1.1
> +interface.
> +
> +Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
> +---
> + tools/mxsimage.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +--- a/tools/mxsimage.c
> ++++ b/tools/mxsimage.c
> +@@ -26,7 +26,7 @@
> +  * OpenSSL 1.1.0 and newer compatibility functions:
> +  * https://wiki.openssl.org/index.php/1.1_API_Changes
> +  */
> +-#if OPENSSL_VERSION_NUMBER < 0x10100000L
> ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
> + static void *OPENSSL_zalloc(size_t num)
> + {
> + 	void *ret = OPENSSL_malloc(num);
> 

Are you going to submit this patch upstream?  This would be great...

Apart from the comments above, I tested this and it worked for me on my local
machine, so:

Tested-by: Michael Heimpold <mhei at heimpold.de>

Regards,
mhei




More information about the Lede-dev mailing list