Avoid using gawk-specific strtonum()
authorSimon Glass <sjg@chromium.org>
Wed, 18 Jun 2014 06:10:15 +0000 (00:10 -0600)
committerTom Rini <trini@ti.com>
Mon, 7 Jul 2014 23:42:33 +0000 (19:42 -0400)
We need to subtract two hex numbers. Avoid using strtonum() by doing the
subtraction in bc with a suitable input base.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reported-by: Vasili Galka <vvv444@gmail.com>
Makefile

index 686cab1460fc82f433edb4466de5498dbf8b7d31..1e9ffa1d74d91d12e393a7cec29479e8edab09d7 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -788,7 +788,8 @@ OBJCOPYFLAGS_u-boot.bin := -O binary
 binary_size_check: u-boot.bin System.map FORCE
        @file_size=`stat -c %s u-boot.bin` ; \
        map_size=$(shell cat System.map | \
-               awk '/_image_copy_start/ {start = $$1} /_image_binary_end/ {end = $$1} END {if (start != "" && end != "") print strtonum("0x" end) - strtonum("0x" start)}'); \
+               awk '/_image_copy_start/ {start = $$1} /_image_binary_end/ {end = $$1} END {if (start != "" && end != "") print "ibase=16; " toupper(end) " - " toupper(start)}' \
+               | bc); \
        if [ "" != "$$map_size" ]; then \
                if test $$map_size -ne $$file_size; then \
                        echo "System.map shows a binary size of $$map_size" >&2 ; \