mirror of
https://github.com/ipxe/ipxe
synced 2026-01-06 20:21:47 +03:00
[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 <mcb30@ipxe.org>
This commit is contained in:
@@ -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
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user