[PATCH v3] Makefile: use shell to calculate map_size
Leon M. Busch-George
leon at georgemail.de
Tue Mar 5 17:46:24 CET 2024
From: "Leon M. Busch-George" <leon at georgemail.eu>
The error message "bc: command not found" is easily missed since the
build continues.
bc is not a part of coreutils or base-devel. POSIX sh can also do the
calculation.
Signed-off-by: Leon M. Busch-George <leon at georgemail.eu>
---
Makefile | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index a2bc9d5903..0aef07ef3b 100644
--- a/Makefile
+++ b/Makefile
@@ -1275,10 +1275,15 @@ OBJCOPYFLAGS_u-boot-nodtb.bin := -O binary \
binary_size_check: u-boot-nodtb.bin FORCE
@file_size=$(shell wc -c u-boot-nodtb.bin | awk '{print $$1}') ; \
map_size=$(shell cat u-boot.map | \
- awk '/_image_copy_start/ {start = $$1} /_image_binary_end/ {end = $$1} END {if (start != "" && end != "") print "ibase=16; " toupper(end) " - " toupper(start)}' \
- | sed 's/0X//g' \
- | bc); \
- if [ "" != "$$map_size" ]; then \
+ awk ' \
+ /_image_copy_start/ { start = $$1 } \
+ /_image_binary_end/ { end = $$1 } \
+ END { \
+ if (start != "" && end != "") \
+ print end " " start; \
+ }' \
+ | sh -c 'read end start && echo $$((end - start))'); \
+ if [ -n "$$map_size" ]; then \
if test $$map_size -ne $$file_size; then \
echo "u-boot.map shows a binary size of $$map_size" >&2 ; \
echo " but u-boot-nodtb.bin shows $$file_size" >&2 ; \
--
2.44.0
More information about the U-Boot
mailing list