buildroot/package/uboot-tools/0003-Make-FIT-support-really-optional.patch
Ricardo Martincoski 31afc58668 uboot-tools: fix conditional build of FIT support
The removal of the unconditional compilation and linking of some .o files were
missed when porting the patch 0003 to the version 2016.07, leading to errors
like these when FIT support is enabled:

tools/fit_common.o: In function `fit_verify_header':
fit_common.c:(.text+0x0): multiple definition of `fit_verify_header'
tools/fit_common.o:fit_common.c:(.text+0x0): first defined here
tools/fit_common.o: In function `fit_check_image_types':
fit_common.c:(.text+0x10): multiple definition of `fit_check_image_types'

When FIT support is disabled, the build does not fail but it includes FIT
support.

Fix the patch 0003 to be equivalent to the original one.

Fixes:
http://autobuild.buildroot.net/results/7494a5b22e3df1c05cdcc47670deaf54d9e04133
http://autobuild.buildroot.net/results/f98f30bbf9d4cdde37a96b9310873d83dd649c54

Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com>
CC: Fabio Estevam <festevam@gmail.com>
CC: Carlos Santos <casantos@datacom.ind.br>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-18 23:09:12 +02:00

97 lines
3.1 KiB
Diff

From d9d7d7cf8b27516d45c66daa1bf0a18c878c4e33 Mon Sep 17 00:00:00 2001
From: Carlos Santos <casantos@datacom.ind.br>
Date: Sun, 8 May 2016 11:11:39 -0300
Subject: [PATCH] Make FIT support really optional
Due to some mistakes in the source code, it was not possible to really
turn FIT support off. This commit fixes the problem by means of the
following changes:
- Enclose "bootm_host_load_image" and "bootm_host_load_images" between
checks for CONFIG_FIT_SIGNATURE, in common/bootm.c.
- Enclose the declaration of "bootm_host_load_images" between checks for
CONFIG_FIT_SIGNATURE, in common/bootm.h.
- Condition the compilation and linking of fit_common.o fit_image.o
image-host.o common/image-fit.o to CONFIG_FIT=y, in tools/Makefile.
Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
[fabio: adapt for 2016.07]
Signed-off-by: Fabio Estevam <festevam@gmail.com>
[Ricardo: fix conditional compilation and linking of the files mentioned above
for 2016.07]
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
---
common/bootm.c | 2 ++
include/bootm.h | 2 ++
tools/Makefile | 6 ++----
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/common/bootm.c b/common/bootm.c
index 2431019..7e1adc8 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -901,6 +901,7 @@ void memmove_wd(void *to, void *from, size_t len, ulong chunksz)
memmove(to, from, len);
}
+#if defined(CONFIG_FIT_SIGNATURE)
static int bootm_host_load_image(const void *fit, int req_image_type)
{
const char *fit_uname_config = NULL;
@@ -965,5 +966,6 @@ int bootm_host_load_images(const void *fit, int cfg_noffset)
/* Return the first error we found */
return err;
}
+#endif
#endif /* ndef USE_HOSTCC */
diff --git a/include/bootm.h b/include/bootm.h
index 4981377..94d62a1 100644
--- a/include/bootm.h
+++ b/include/bootm.h
@@ -41,7 +41,9 @@ void lynxkdi_boot(image_header_t *hdr);
boot_os_fn *bootm_os_get_boot_func(int os);
+#if defined(CONFIG_FIT_SIGNATURE)
int bootm_host_load_images(const void *fit, int cfg_noffset);
+#endif
int boot_selected_os(int argc, char * const argv[], int state,
bootm_headers_t *images, boot_os_fn *boot_fn);
diff --git a/tools/Makefile b/tools/Makefile
index f72294a..ccf5120 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -54,6 +54,7 @@ mkenvimage-objs := mkenvimage.o os_support.o lib/crc32.o
hostprogs-y += dumpimage mkimage
hostprogs-$(CONFIG_FIT_SIGNATURE) += fit_info fit_check_sign
+FIT_OBJS-$(CONFIG_FIT) := fit_common.o fit_image.o image-host.o common/image-fit.o
FIT_SIG_OBJS-$(CONFIG_FIT_SIGNATURE) := common/image-sig.o
# Flattened device tree objects
LIBFDT_OBJS := $(addprefix lib/libfdt/, \
@@ -68,16 +69,13 @@ ROCKCHIP_OBS = lib/rc4.o rkcommon.o rkimage.o rksd.o rkspi.o
# common objs for dumpimage and mkimage
dumpimage-mkimage-objs := aisimage.o \
atmelimage.o \
+ $(FIT_OBJS-y) \
$(FIT_SIG_OBJS-y) \
common/bootm.o \
lib/crc32.o \
default_image.o \
lib/fdtdec_common.o \
lib/fdtdec.o \
- fit_common.o \
- fit_image.o \
- common/image-fit.o \
- image-host.o \
common/image.o \
imagetool.o \
imximage.o \
--
2.9.1