From 064beaa73b4a0704f8e301e43e756d2bb10a674d Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Tue, 17 Jan 2012 15:48:31 +0100 Subject: [PATCH] add config to check if the size of barebox exceed the target size CONFIG_BAREBOX_MAX_IMAGE_SIZE will allow to detected silent oversize result Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- Makefile | 11 +++++++++++ common/Kconfig | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/Makefile b/Makefile index d8e685ec4..5cf49da7a 100644 --- a/Makefile +++ b/Makefile @@ -532,6 +532,16 @@ quiet_cmd_barebox_version = GEN .version expr 0$$(cat .old_version) + 1 >.version; \ fi; \ +# Check size of a file +quiet_cmd_check_file_size = CHKSIZE $@ + cmd_check_file_size = set -e; \ + size=`stat -c%s $@`; \ + max_size=`printf "%d" $2`; \ + if [ $$size -gt $$max_size ] ; \ + then \ + echo "$@ size $$size > of the maximum size $$max_size"; \ + exit 1 ; \ + fi; # Generate System.map quiet_cmd_sysmap = SYSMAP @@ -659,6 +669,7 @@ OBJCOPYFLAGS_barebox.bin = -O binary barebox.bin: barebox FORCE $(call if_changed,objcopy) + $(call cmd,check_file_size,$(CONFIG_BAREBOX_MAX_IMAGE_SIZE)) ifdef CONFIG_X86 barebox.S: barebox diff --git a/common/Kconfig b/common/Kconfig index 382e591a7..808906142 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -104,6 +104,13 @@ config TEXT_BASE help The Address barebox gets linked at. +config BAREBOX_MAX_IMAGE_SIZE + prompt "Maximum size of barebox" + hex + default 0xffffffff + help + Define the maximum size of barebox + config HAVE_CONFIGURABLE_MEMORY_LAYOUT bool