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>
[Jörg: adapt for 2019.01]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Retrieved from:
https://git.buildroot.net/buildroot/tree/package/uboot-tools/0003-Make-FIT-support-really-optional.patch]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
diff --git a/common/bootm.c b/common/bootm.c
index b5d37d3..d193751 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -924,6 +924,7 @@
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;
@@ -988,5 +989,6 @@
/* Return the first error we found */
return err;
}
+#endif
#endif /* ndef USE_HOSTCC */
diff --git a/include/bootm.h b/include/bootm.h
index e2cc6d4..f771b73 100644
--- a/include/bootm.h
+++ b/include/bootm.h
@@ -42,7 +42,9 @@
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 eadeba4..e2f572c 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -58,6 +58,7 @@
hostprogs-$(CONFIG_CMD_BOOTEFI_SELFTEST) += file2include
+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
# The following files are synced with upstream DTC.
@@ -80,16 +81,13 @@
# 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 \