From: Michael Brown Date: Sun, 31 Jan 2021 00:41:34 +0000 (+0000) Subject: [build] Avoid using awk to format build ID as hexadecimal X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba20ba42731b8b03a5db2f81f876fccd56257b0f;p=thirdparty%2Fipxe.git [build] Avoid using awk to format build ID as hexadecimal The version of awk used in FreeBSD seems to be incapable of formatting unsigned 32-bit integers above 0x80000000 and will silently render any such value as 0x80000000. For example: echo 3735928559 | awk '{printf "0x%08x", $1}' will produce 0x80000000 instead of the correct 0xdeadbeef. This results in an approximately 50% chance of a build ID collision when building on FreeBSD. Work around this problem by passing the decimal value directly in the ld --defsym argument value. Signed-off-by: Michael Brown --- diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index e91307023..91be542ab 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -1176,7 +1176,7 @@ blib : $(BLIB) # different builds (such as builds for multiple ROMs all built from # the same blib.a). # -BUILD_ID_CMD = cat $^ | cksum | awk '{printf "0x%08x", $$1}' +BUILD_ID_CMD = cat $^ | cksum | awk '{print $$1}' # Build timestamp #