diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-01-17 15:48:31 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-01-17 18:48:54 +0100 |
commit | 064beaa73b4a0704f8e301e43e756d2bb10a674d (patch) | |
tree | 29cc6d20534a7426144adc2b597edbd2b1be9b38 | |
parent | 2610b2a98709ad833e4e9d4aecd52d7b5d822c5a (diff) | |
download | barebox-064beaa73b4a0704f8e301e43e756d2bb10a674d.tar.gz barebox-064beaa73b4a0704f8e301e43e756d2bb10a674d.tar.xz |
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 <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | common/Kconfig | 7 |
2 files changed, 18 insertions, 0 deletions
@@ -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 382e591a7f..8089061421 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 |