Re: [PATCH v2] Makefile: use shell to calculate map_size

Hello Leon,
On 2024-03-04 21:44, Dragan Simic wrote:
On 2024-03-04 21:38, Leon M. Busch-George wrote:
From: "Leon M. Busch-George" leon@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@georgemail.eu
The v2 is looking good to me. I also did some testing of the awk code by hand, outside of the actual Makefile, and it worked as expected.
See also one small nitpick below, and please feel free to include:
Reviewed-by: Dragan Simic dsimic@manjaro.org
Makefile | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile index a2bc9d5903..e8e794368e 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}') ; \
Perhaps a couple of spaces could be added around "print $$1" in the line above, to nicely round off the code cleanups.
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; [ -n "$$end" ] && 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 ; \
participants (1)
-
Dragan Simic