tools/mkimage: Update U-Boot to version 2019.07
This updates the U-Boot which provides the host tools like mkimage to version 2019.07. The patches were cleaned up and it was checked if this still compiles on Linux and FreeBSD. CONFIG_FIT_SIGNATURE_MAX_SIZE is set to the default value. The patch for libressl was merged upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
		@@ -7,11 +7,11 @@
 | 
				
			|||||||
include $(TOPDIR)/rules.mk
 | 
					include $(TOPDIR)/rules.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_NAME:=mkimage
 | 
					PKG_NAME:=mkimage
 | 
				
			||||||
PKG_VERSION:=2018.03
 | 
					PKG_VERSION:=2019.07
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2
 | 
					PKG_SOURCE:=u-boot-$(PKG_VERSION).tar.bz2
 | 
				
			||||||
PKG_SOURCE_URL:=http://ftp.denx.de/pub/u-boot
 | 
					PKG_SOURCE_URL:=http://ftp.denx.de/pub/u-boot
 | 
				
			||||||
PKG_HASH:=7e7477534409d5368eb1371ffde6820f0f79780a1a1f676161c48442cb303dfd
 | 
					PKG_HASH:=bff4fa77e8da17521c030ca4c5b947a056c1b1be4d3e6ee8637020b8d50251d0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION)
 | 
					HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/u-boot-$(PKG_VERSION)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,7 +29,9 @@ define Host/Compile
 | 
				
			|||||||
		HOSTLDFLAGS="$(HOST_LDFLAGS)" \
 | 
							HOSTLDFLAGS="$(HOST_LDFLAGS)" \
 | 
				
			||||||
		no-dot-config-targets=tools-only \
 | 
							no-dot-config-targets=tools-only \
 | 
				
			||||||
		CONFIG_MKIMAGE_DTC_PATH=dtc \
 | 
							CONFIG_MKIMAGE_DTC_PATH=dtc \
 | 
				
			||||||
 | 
							CONFIG_FIT=y \
 | 
				
			||||||
		CONFIG_FIT_SIGNATURE=y \
 | 
							CONFIG_FIT_SIGNATURE=y \
 | 
				
			||||||
 | 
							CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000 \
 | 
				
			||||||
		tools-only
 | 
							tools-only
 | 
				
			||||||
endef
 | 
					endef
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
--- a/include/image.h
 | 
					 | 
				
			||||||
+++ b/include/image.h
 | 
					 | 
				
			||||||
@@ -51,6 +51,10 @@ struct lmb;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 #endif /* USE_HOSTCC */
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+#ifndef ulong
 | 
					 | 
				
			||||||
+#define ulong unsigned long
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 #if IMAGE_ENABLE_FIT
 | 
					 | 
				
			||||||
 #include <hash.h>
 | 
					 | 
				
			||||||
 #include <linux/libfdt.h>
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
--- a/include/u-boot/rsa-checksum.h
 | 
					 | 
				
			||||||
+++ b/include/u-boot/rsa-checksum.h
 | 
					 | 
				
			||||||
@@ -7,7 +7,6 @@
 | 
					 | 
				
			||||||
 #ifndef _RSA_CHECKSUM_H
 | 
					 | 
				
			||||||
 #define _RSA_CHECKSUM_H
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-#include <errno.h>
 | 
					 | 
				
			||||||
 #include <image.h>
 | 
					 | 
				
			||||||
 #include <u-boot/sha1.h>
 | 
					 | 
				
			||||||
 #include <u-boot/sha256.h>
 | 
					 | 
				
			||||||
@@ -1,6 +1,8 @@
 | 
				
			|||||||
 | 
					This patch makes it possible to set a custom image magic.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- a/tools/mkimage.c
 | 
					--- a/tools/mkimage.c
 | 
				
			||||||
+++ b/tools/mkimage.c
 | 
					+++ b/tools/mkimage.c
 | 
				
			||||||
@@ -21,6 +21,7 @@ static struct image_tool_params params =
 | 
					@@ -20,6 +20,7 @@ static struct image_tool_params params =
 | 
				
			||||||
 	.arch = IH_ARCH_PPC,
 | 
					 	.arch = IH_ARCH_PPC,
 | 
				
			||||||
 	.type = IH_TYPE_KERNEL,
 | 
					 	.type = IH_TYPE_KERNEL,
 | 
				
			||||||
 	.comp = IH_COMP_GZIP,
 | 
					 	.comp = IH_COMP_GZIP,
 | 
				
			||||||
@@ -8,7 +10,7 @@
 | 
				
			|||||||
 	.dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
 | 
					 	.dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
 | 
				
			||||||
 	.imagename = "",
 | 
					 	.imagename = "",
 | 
				
			||||||
 	.imagename2 = "",
 | 
					 	.imagename2 = "",
 | 
				
			||||||
@@ -77,11 +78,12 @@ static void usage(const char *msg)
 | 
					@@ -76,11 +77,12 @@ static void usage(const char *msg)
 | 
				
			||||||
 			 "          -l ==> list image header information\n",
 | 
					 			 "          -l ==> list image header information\n",
 | 
				
			||||||
 		params.cmdname);
 | 
					 		params.cmdname);
 | 
				
			||||||
 	fprintf(stderr,
 | 
					 	fprintf(stderr,
 | 
				
			||||||
@@ -22,7 +24,7 @@
 | 
				
			|||||||
 		"          -a ==> set load address to 'addr' (hex)\n"
 | 
					 		"          -a ==> set load address to 'addr' (hex)\n"
 | 
				
			||||||
 		"          -e ==> set entry point to 'ep' (hex)\n"
 | 
					 		"          -e ==> set entry point to 'ep' (hex)\n"
 | 
				
			||||||
 		"          -n ==> set image name to 'name'\n"
 | 
					 		"          -n ==> set image name to 'name'\n"
 | 
				
			||||||
@@ -144,7 +146,7 @@ static void process_args(int argc, char
 | 
					@@ -143,7 +145,7 @@ static void process_args(int argc, char
 | 
				
			||||||
 	int opt;
 | 
					 	int opt;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	while ((opt = getopt(argc, argv,
 | 
					 	while ((opt = getopt(argc, argv,
 | 
				
			||||||
@@ -31,7 +33,7 @@
 | 
				
			|||||||
 		switch (opt) {
 | 
					 		switch (opt) {
 | 
				
			||||||
 		case 'a':
 | 
					 		case 'a':
 | 
				
			||||||
 			params.addr = strtoull(optarg, &ptr, 16);
 | 
					 			params.addr = strtoull(optarg, &ptr, 16);
 | 
				
			||||||
@@ -222,6 +224,14 @@ static void process_args(int argc, char
 | 
					@@ -221,6 +223,14 @@ static void process_args(int argc, char
 | 
				
			||||||
 		case 'l':
 | 
					 		case 'l':
 | 
				
			||||||
 			params.lflag = 1;
 | 
					 			params.lflag = 1;
 | 
				
			||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
@@ -48,18 +50,18 @@
 | 
				
			|||||||
 			break;
 | 
					 			break;
 | 
				
			||||||
--- a/tools/default_image.c
 | 
					--- a/tools/default_image.c
 | 
				
			||||||
+++ b/tools/default_image.c
 | 
					+++ b/tools/default_image.c
 | 
				
			||||||
@@ -106,7 +106,7 @@ static void image_set_header(void *ptr,
 | 
					@@ -116,7 +116,7 @@ static void image_set_header(void *ptr,
 | 
				
			||||||
 		imagesize = sbuf->st_size - sizeof(image_header_t);
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Build new header */
 | 
					 	/* Build new header */
 | 
				
			||||||
-	image_set_magic(hdr, IH_MAGIC);
 | 
					-	image_set_magic(hdr, IH_MAGIC);
 | 
				
			||||||
+	image_set_magic(hdr, params->magic);
 | 
					+	image_set_magic(hdr, params->magic);
 | 
				
			||||||
 	image_set_time(hdr, time);
 | 
					 	image_set_time(hdr, time);
 | 
				
			||||||
 	image_set_size(hdr, imagesize);
 | 
					 	image_set_size(hdr, imagesize);
 | 
				
			||||||
 	image_set_load(hdr, params->addr);
 | 
					 	image_set_load(hdr, addr);
 | 
				
			||||||
--- a/tools/imagetool.h
 | 
					--- a/tools/imagetool.h
 | 
				
			||||||
+++ b/tools/imagetool.h
 | 
					+++ b/tools/imagetool.h
 | 
				
			||||||
@@ -54,6 +54,7 @@ struct image_tool_params {
 | 
					@@ -53,6 +53,7 @@ struct image_tool_params {
 | 
				
			||||||
 	int arch;
 | 
					 	int arch;
 | 
				
			||||||
 	int type;
 | 
					 	int type;
 | 
				
			||||||
 	int comp;
 | 
					 	int comp;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,14 +1,24 @@
 | 
				
			|||||||
 | 
					Some of the Linux header files are not available on non Linux host
 | 
				
			||||||
 | 
					systems like FreeBSD or MacOSX.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The __le32 and __be32 types are only defined in Linux in
 | 
				
			||||||
 | 
					asm/byteorder.h, but not on all other BSD systems.
 | 
				
			||||||
 | 
					Use uint32_t instead of __le32 and __be32.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__swab32 is also a Linux only function, it looks like be32_to_cpu()
 | 
				
			||||||
 | 
					would be better here anyway.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- a/include/image.h
 | 
					--- a/include/image.h
 | 
				
			||||||
+++ b/include/image.h
 | 
					+++ b/include/image.h
 | 
				
			||||||
@@ -17,7 +17,6 @@
 | 
					@@ -16,7 +16,6 @@
 | 
				
			||||||
 #define __IMAGE_H__
 | 
					 #define __IMAGE_H__
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #include "compiler.h"
 | 
					 #include "compiler.h"
 | 
				
			||||||
-#include <asm/byteorder.h>
 | 
					-#include <asm/byteorder.h>
 | 
				
			||||||
 | 
					 #include <stdbool.h>
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* Define this to avoid #ifdefs later on */
 | 
					 /* Define this to avoid #ifdefs later on */
 | 
				
			||||||
 struct lmb;
 | 
					@@ -317,13 +316,13 @@ enum {
 | 
				
			||||||
@@ -308,13 +307,13 @@ enum {
 | 
					 | 
				
			||||||
  * all data in network byte order (aka natural aka bigendian).
 | 
					  * all data in network byte order (aka natural aka bigendian).
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
 typedef struct image_header {
 | 
					 typedef struct image_header {
 | 
				
			||||||
@@ -29,3 +39,169 @@
 | 
				
			|||||||
 	uint8_t		ih_os;		/* Operating System		*/
 | 
					 	uint8_t		ih_os;		/* Operating System		*/
 | 
				
			||||||
 	uint8_t		ih_arch;	/* CPU architecture		*/
 | 
					 	uint8_t		ih_arch;	/* CPU architecture		*/
 | 
				
			||||||
 	uint8_t		ih_type;	/* Image Type			*/
 | 
					 	uint8_t		ih_type;	/* Image Type			*/
 | 
				
			||||||
 | 
					--- a/tools/mtk_image.h
 | 
				
			||||||
 | 
					+++ b/tools/mtk_image.h
 | 
				
			||||||
 | 
					@@ -15,8 +15,8 @@
 | 
				
			||||||
 | 
					 union gen_boot_header {
 | 
				
			||||||
 | 
					 	struct {
 | 
				
			||||||
 | 
					 		char name[12];
 | 
				
			||||||
 | 
					-		__le32 version;
 | 
				
			||||||
 | 
					-		__le32 size;
 | 
				
			||||||
 | 
					+		uint32_t version;
 | 
				
			||||||
 | 
					+		uint32_t size;
 | 
				
			||||||
 | 
					 	};
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	uint8_t pad[0x200];
 | 
				
			||||||
 | 
					@@ -32,14 +32,14 @@ union nand_boot_header {
 | 
				
			||||||
 | 
					 		char name[12];
 | 
				
			||||||
 | 
					 		char version[4];
 | 
				
			||||||
 | 
					 		char id[8];
 | 
				
			||||||
 | 
					-		__le16 ioif;
 | 
				
			||||||
 | 
					-		__le16 pagesize;
 | 
				
			||||||
 | 
					-		__le16 addrcycles;
 | 
				
			||||||
 | 
					-		__le16 oobsize;
 | 
				
			||||||
 | 
					-		__le16 pages_of_block;
 | 
				
			||||||
 | 
					-		__le16 numblocks;
 | 
				
			||||||
 | 
					-		__le16 writesize_shift;
 | 
				
			||||||
 | 
					-		__le16 erasesize_shift;
 | 
				
			||||||
 | 
					+		uint16_t ioif;
 | 
				
			||||||
 | 
					+		uint16_t pagesize;
 | 
				
			||||||
 | 
					+		uint16_t addrcycles;
 | 
				
			||||||
 | 
					+		uint16_t oobsize;
 | 
				
			||||||
 | 
					+		uint16_t pages_of_block;
 | 
				
			||||||
 | 
					+		uint16_t numblocks;
 | 
				
			||||||
 | 
					+		uint16_t writesize_shift;
 | 
				
			||||||
 | 
					+		uint16_t erasesize_shift;
 | 
				
			||||||
 | 
					 		uint8_t dummy[60];
 | 
				
			||||||
 | 
					 		uint8_t ecc_parity[28];
 | 
				
			||||||
 | 
					 	};
 | 
				
			||||||
 | 
					@@ -54,14 +54,14 @@ union nand_boot_header {
 | 
				
			||||||
 | 
					 /* BootROM layout header */
 | 
				
			||||||
 | 
					 struct brom_layout_header {
 | 
				
			||||||
 | 
					 	char name[8];
 | 
				
			||||||
 | 
					-	__le32 version;
 | 
				
			||||||
 | 
					-	__le32 header_size;
 | 
				
			||||||
 | 
					-	__le32 total_size;
 | 
				
			||||||
 | 
					-	__le32 magic;
 | 
				
			||||||
 | 
					-	__le32 type;
 | 
				
			||||||
 | 
					-	__le32 header_size_2;
 | 
				
			||||||
 | 
					-	__le32 total_size_2;
 | 
				
			||||||
 | 
					-	__le32 unused;
 | 
				
			||||||
 | 
					+	uint32_t version;
 | 
				
			||||||
 | 
					+	uint32_t header_size;
 | 
				
			||||||
 | 
					+	uint32_t total_size;
 | 
				
			||||||
 | 
					+	uint32_t magic;
 | 
				
			||||||
 | 
					+	uint32_t type;
 | 
				
			||||||
 | 
					+	uint32_t header_size_2;
 | 
				
			||||||
 | 
					+	uint32_t total_size_2;
 | 
				
			||||||
 | 
					+	uint32_t unused;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #define BRLYT_NAME		"BRLYT"
 | 
				
			||||||
 | 
					@@ -90,8 +90,8 @@ struct gen_device_header {
 | 
				
			||||||
 | 
					 struct gfh_common_header {
 | 
				
			||||||
 | 
					 	uint8_t magic[3];
 | 
				
			||||||
 | 
					 	uint8_t version;
 | 
				
			||||||
 | 
					-	__le16 size;
 | 
				
			||||||
 | 
					-	__le16 type;
 | 
				
			||||||
 | 
					+	uint16_t size;
 | 
				
			||||||
 | 
					+	uint16_t type;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #define GFH_HEADER_MAGIC	"MMM"
 | 
				
			||||||
 | 
					@@ -106,17 +106,17 @@ struct gfh_common_header {
 | 
				
			||||||
 | 
					 struct gfh_file_info {
 | 
				
			||||||
 | 
					 	struct gfh_common_header gfh;
 | 
				
			||||||
 | 
					 	char name[12];
 | 
				
			||||||
 | 
					-	__le32 unused;
 | 
				
			||||||
 | 
					-	__le16 file_type;
 | 
				
			||||||
 | 
					+	uint32_t unused;
 | 
				
			||||||
 | 
					+	uint16_t file_type;
 | 
				
			||||||
 | 
					 	uint8_t flash_type;
 | 
				
			||||||
 | 
					 	uint8_t sig_type;
 | 
				
			||||||
 | 
					-	__le32 load_addr;
 | 
				
			||||||
 | 
					-	__le32 total_size;
 | 
				
			||||||
 | 
					-	__le32 max_size;
 | 
				
			||||||
 | 
					-	__le32 hdr_size;
 | 
				
			||||||
 | 
					-	__le32 sig_size;
 | 
				
			||||||
 | 
					-	__le32 jump_offset;
 | 
				
			||||||
 | 
					-	__le32 processed;
 | 
				
			||||||
 | 
					+	uint32_t load_addr;
 | 
				
			||||||
 | 
					+	uint32_t total_size;
 | 
				
			||||||
 | 
					+	uint32_t max_size;
 | 
				
			||||||
 | 
					+	uint32_t hdr_size;
 | 
				
			||||||
 | 
					+	uint32_t sig_size;
 | 
				
			||||||
 | 
					+	uint32_t jump_offset;
 | 
				
			||||||
 | 
					+	uint32_t processed;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #define GFH_FILE_INFO_NAME	"FILE_INFO"
 | 
				
			||||||
 | 
					@@ -129,16 +129,16 @@ struct gfh_file_info {
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 struct gfh_bl_info {
 | 
				
			||||||
 | 
					 	struct gfh_common_header gfh;
 | 
				
			||||||
 | 
					-	__le32 attr;
 | 
				
			||||||
 | 
					+	uint32_t attr;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 struct gfh_brom_cfg {
 | 
				
			||||||
 | 
					 	struct gfh_common_header gfh;
 | 
				
			||||||
 | 
					-	__le32 cfg_bits;
 | 
				
			||||||
 | 
					-	__le32 usbdl_by_auto_detect_timeout_ms;
 | 
				
			||||||
 | 
					+	uint32_t cfg_bits;
 | 
				
			||||||
 | 
					+	uint32_t usbdl_by_auto_detect_timeout_ms;
 | 
				
			||||||
 | 
					 	uint8_t unused[0x48];
 | 
				
			||||||
 | 
					-	__le32 usbdl_by_kcol0_timeout_ms;
 | 
				
			||||||
 | 
					-	__le32 usbdl_by_flag_timeout_ms;
 | 
				
			||||||
 | 
					+	uint32_t usbdl_by_kcol0_timeout_ms;
 | 
				
			||||||
 | 
					+	uint32_t usbdl_by_flag_timeout_ms;
 | 
				
			||||||
 | 
					 	uint32_t pad;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -157,15 +157,15 @@ struct gfh_anti_clone {
 | 
				
			||||||
 | 
					 	uint8_t ac_b2k;
 | 
				
			||||||
 | 
					 	uint8_t ac_b2c;
 | 
				
			||||||
 | 
					 	uint16_t pad;
 | 
				
			||||||
 | 
					-	__le32 ac_offset;
 | 
				
			||||||
 | 
					-	__le32 ac_len;
 | 
				
			||||||
 | 
					+	uint32_t ac_offset;
 | 
				
			||||||
 | 
					+	uint32_t ac_len;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 struct gfh_brom_sec_cfg {
 | 
				
			||||||
 | 
					 	struct gfh_common_header gfh;
 | 
				
			||||||
 | 
					-	__le32 cfg_bits;
 | 
				
			||||||
 | 
					+	uint32_t cfg_bits;
 | 
				
			||||||
 | 
					 	char customer_name[0x20];
 | 
				
			||||||
 | 
					-	__le32 pad;
 | 
				
			||||||
 | 
					+	uint32_t pad;
 | 
				
			||||||
 | 
					 };
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 #define BROM_SEC_CFG_JTAG_EN	1
 | 
				
			||||||
 | 
					@@ -184,11 +184,11 @@ struct gfh_header {
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 union lk_hdr {
 | 
				
			||||||
 | 
					 	struct {
 | 
				
			||||||
 | 
					-		__le32 magic;
 | 
				
			||||||
 | 
					-		__le32 size;
 | 
				
			||||||
 | 
					+		uint32_t magic;
 | 
				
			||||||
 | 
					+		uint32_t size;
 | 
				
			||||||
 | 
					 		char name[32];
 | 
				
			||||||
 | 
					-		__le32 loadaddr;
 | 
				
			||||||
 | 
					-		__le32 mode;
 | 
				
			||||||
 | 
					+		uint32_t loadaddr;
 | 
				
			||||||
 | 
					+		uint32_t mode;
 | 
				
			||||||
 | 
					 	};
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	uint8_t data[512];
 | 
				
			||||||
 | 
					--- a/tools/zynqmpbif.c
 | 
				
			||||||
 | 
					+++ b/tools/zynqmpbif.c
 | 
				
			||||||
 | 
					@@ -517,7 +517,7 @@ static int bif_add_bit(struct bif_entry
 | 
				
			||||||
 | 
					 	debug("Bitstream Length: 0x%x\n", bitlen);
 | 
				
			||||||
 | 
					 	for (i = 0; i < bitlen; i += sizeof(uint32_t)) {
 | 
				
			||||||
 | 
					 		uint32_t *bitbin32 = (uint32_t *)&bitbin[i];
 | 
				
			||||||
 | 
					-		*bitbin32 = __swab32(*bitbin32);
 | 
				
			||||||
 | 
					+		*bitbin32 = be32_to_cpu(*bitbin32);
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	if (!bf->dest_dev)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,17 +1,6 @@
 | 
				
			|||||||
--- a/include/compiler.h
 | 
					The Kernel includes are only available on Linux hosts, remove then on
 | 
				
			||||||
+++ b/include/compiler.h
 | 
					non Linux hosts. 
 | 
				
			||||||
@@ -66,6 +66,11 @@ typedef uint8_t __u8;
 | 
					 | 
				
			||||||
 typedef uint16_t __u16;
 | 
					 | 
				
			||||||
 typedef uint32_t __u32;
 | 
					 | 
				
			||||||
 typedef unsigned int uint;
 | 
					 | 
				
			||||||
+typedef uint64_t __u64;
 | 
					 | 
				
			||||||
+#ifndef linux
 | 
					 | 
				
			||||||
+typedef int __kernel_daddr_t;
 | 
					 | 
				
			||||||
+typedef unsigned int __kernel_ino_t;
 | 
					 | 
				
			||||||
+#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 #define uswap_16(x) \
 | 
					 | 
				
			||||||
 	((((x) & 0xff00) >> 8) | \
 | 
					 | 
				
			||||||
--- a/include/linux/posix_types.h
 | 
					--- a/include/linux/posix_types.h
 | 
				
			||||||
+++ b/include/linux/posix_types.h
 | 
					+++ b/include/linux/posix_types.h
 | 
				
			||||||
@@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in
 | 
					@@ -43,6 +43,8 @@ typedef void (*__kernel_sighandler_t)(in
 | 
				
			||||||
@@ -23,13 +12,18 @@
 | 
				
			|||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #endif /* _LINUX_POSIX_TYPES_H */
 | 
					 #endif /* _LINUX_POSIX_TYPES_H */
 | 
				
			||||||
--- a/include/linux/types.h
 | 
					--- a/include/imx8image.h
 | 
				
			||||||
+++ b/include/linux/types.h
 | 
					+++ b/include/imx8image.h
 | 
				
			||||||
@@ -2,7 +2,6 @@
 | 
					@@ -11,7 +11,12 @@
 | 
				
			||||||
 #define _LINUX_TYPES_H
 | 
					 #include <image.h>
 | 
				
			||||||
 | 
					 #include <inttypes.h>
 | 
				
			||||||
 | 
					 #include "imagetool.h"
 | 
				
			||||||
 | 
					+#ifdef linux
 | 
				
			||||||
 | 
					 #include "linux/kernel.h"
 | 
				
			||||||
 | 
					+#else
 | 
				
			||||||
 | 
					+#define ALIGN(x,a)		__ALIGN_MASK((x),(typeof(x))(a)-1)
 | 
				
			||||||
 | 
					+#define __ALIGN_MASK(x,mask)	(((x)+(mask))&~(mask))
 | 
				
			||||||
 | 
					+#endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #include <linux/posix_types.h>
 | 
					 #define __packed   __attribute__((packed))
 | 
				
			||||||
-#include <asm/types.h>
 | 
					 | 
				
			||||||
 #include <stdbool.h>
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #ifndef __KERNEL_STRICT_NAMES
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,16 +0,0 @@
 | 
				
			|||||||
--- a/include/linux/compiler-gcc.h
 | 
					 | 
				
			||||||
+++ b/include/linux/compiler-gcc.h
 | 
					 | 
				
			||||||
@@ -146,13 +146,6 @@
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 #if GCC_VERSION >= 40000
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-/* GCC 4.1.[01] miscompiles __weak */
 | 
					 | 
				
			||||||
-#ifdef __KERNEL__
 | 
					 | 
				
			||||||
-# if GCC_VERSION >= 40100 &&  GCC_VERSION <= 40101
 | 
					 | 
				
			||||||
-#  error Your version of gcc miscompiles the __weak directive
 | 
					 | 
				
			||||||
-# endif
 | 
					 | 
				
			||||||
-#endif
 | 
					 | 
				
			||||||
-
 | 
					 | 
				
			||||||
 #define __used			__attribute__((__used__))
 | 
					 | 
				
			||||||
 #define __compiler_offsetof(a, b)					\
 | 
					 | 
				
			||||||
 	__builtin_offsetof(a, b)
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
--- a/Makefile
 | 
					 | 
				
			||||||
+++ b/Makefile
 | 
					 | 
				
			||||||
@@ -634,7 +634,10 @@ UBOOTINCLUDE    := \
 | 
					 | 
				
			||||||
 		-I$(srctree)/arch/$(ARCH)/include \
 | 
					 | 
				
			||||||
 		-include $(srctree)/include/linux/kconfig.h
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 | 
					 | 
				
			||||||
+ifneq ($(shell uname),FreeBSD)
 | 
					 | 
				
			||||||
+  NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 | 
					 | 
				
			||||||
+endif
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 CHECKFLAGS     += $(NOSTDINC_FLAGS)
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 # FIX ME
 | 
					 | 
				
			||||||
@@ -1,68 +0,0 @@
 | 
				
			|||||||
From 69176c8602e29f4bd30457240374800d88dc39ed Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Hauke Mehrtens <hauke@hauke-m.de>
 | 
					 | 
				
			||||||
Date: Sat, 14 Apr 2018 22:39:34 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH] rsa-sign: add support for libressl
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 lib/rsa/rsa-sign.c | 15 +++++++++------
 | 
					 | 
				
			||||||
 1 file changed, 9 insertions(+), 6 deletions(-)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- a/lib/rsa/rsa-sign.c
 | 
					 | 
				
			||||||
+++ b/lib/rsa/rsa-sign.c
 | 
					 | 
				
			||||||
@@ -21,7 +21,8 @@
 | 
					 | 
				
			||||||
 #define HAVE_ERR_REMOVE_THREAD_STATE
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
 | 
					 | 
				
			||||||
+    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
 | 
					 | 
				
			||||||
 static void RSA_get0_key(const RSA *r,
 | 
					 | 
				
			||||||
                  const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
@@ -300,7 +301,8 @@ static int rsa_init(void)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
 	int ret;
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
 | 
					 | 
				
			||||||
+    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
 | 
					 | 
				
			||||||
 	ret = SSL_library_init();
 | 
					 | 
				
			||||||
 #else
 | 
					 | 
				
			||||||
 	ret = OPENSSL_init_ssl(0, NULL);
 | 
					 | 
				
			||||||
@@ -309,7 +311,7 @@ static int rsa_init(void)
 | 
					 | 
				
			||||||
 		fprintf(stderr, "Failure to init SSL library\n");
 | 
					 | 
				
			||||||
 		return -1;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 | 
					 | 
				
			||||||
 	SSL_load_error_strings();
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	OpenSSL_add_all_algorithms();
 | 
					 | 
				
			||||||
@@ -355,7 +357,7 @@ err_set_rsa:
 | 
					 | 
				
			||||||
 err_engine_init:
 | 
					 | 
				
			||||||
 	ENGINE_free(e);
 | 
					 | 
				
			||||||
 err_engine_by_id:
 | 
					 | 
				
			||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L ||  defined(LIBRESSL_VERSION_NUMBER)
 | 
					 | 
				
			||||||
 	ENGINE_cleanup();
 | 
					 | 
				
			||||||
 #endif
 | 
					 | 
				
			||||||
 	return ret;
 | 
					 | 
				
			||||||
@@ -363,7 +365,7 @@ err_engine_by_id:
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 static void rsa_remove(void)
 | 
					 | 
				
			||||||
 {
 | 
					 | 
				
			||||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
 | 
					 | 
				
			||||||
 	CRYPTO_cleanup_all_ex_data();
 | 
					 | 
				
			||||||
 	ERR_free_strings();
 | 
					 | 
				
			||||||
 #ifdef HAVE_ERR_REMOVE_THREAD_STATE
 | 
					 | 
				
			||||||
@@ -433,7 +435,8 @@ static int rsa_sign_with_key(RSA *rsa, s
 | 
					 | 
				
			||||||
 		ret = rsa_err("Could not obtain signature");
 | 
					 | 
				
			||||||
 		goto err_sign;
 | 
					 | 
				
			||||||
 	}
 | 
					 | 
				
			||||||
-	#if OPENSSL_VERSION_NUMBER < 0x10100000L
 | 
					 | 
				
			||||||
+	#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
 | 
					 | 
				
			||||||
+	    defined(LIBRESSL_VERSION_NUMBER)
 | 
					 | 
				
			||||||
 		EVP_MD_CTX_cleanup(context);
 | 
					 | 
				
			||||||
 	#else
 | 
					 | 
				
			||||||
 		EVP_MD_CTX_reset(context);
 | 
					 | 
				
			||||||
@@ -3,9 +3,9 @@ needed dependencies are added too.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/tools/Makefile
 | 
					--- a/tools/Makefile
 | 
				
			||||||
+++ b/tools/Makefile
 | 
					+++ b/tools/Makefile
 | 
				
			||||||
@@ -145,7 +145,7 @@ endif
 | 
					@@ -151,7 +151,7 @@ ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CON
 | 
				
			||||||
 # MXSImage needs LibSSL
 | 
					 HOSTCFLAGS_kwbimage.o += \
 | 
				
			||||||
 ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_ARMADA_39X)$(CONFIG_FIT_SIGNATURE),)
 | 
					 	$(shell pkg-config --cflags libssl libcrypto 2> /dev/null || echo "")
 | 
				
			||||||
 HOSTLOADLIBES_mkimage += \
 | 
					 HOSTLOADLIBES_mkimage += \
 | 
				
			||||||
-	$(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
 | 
					-	$(shell pkg-config --libs libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
 | 
				
			||||||
+	$(shell pkg-config --libs --static libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
 | 
					+	$(shell pkg-config --libs --static libssl libcrypto 2> /dev/null || echo "-lssl -lcrypto")
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user