[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