the following patch was just integrated into master: commit 1d6e58401b9cd182a59471d34bd0563a05cfca67 Author: Zheng Bao fishbaozi@gmail.com Date: Mon Sep 24 14:05:22 2012 +0800
AMD hudson: Round the float pointing number to integer
Try sh> printf %d 0x005500AA | LC_ALL=C awk '{printf("%c%c%c%c", \ $1 % 256, $1/256 % 256, $1/65536 % 256, $1/16777216);}' | \ od -Ax -t x On Linux with gawk, we get 000000 005500aa 000004 On FreeBSD with nongnu-awk, we get 000000 000055aa 000002
In awk, all the numbers are floating point number. So division doesn't round the result from 0.75 (3/4) to 0. And, There is a fact that, for the FreeBSD awk, sh> awk 'BEGIN {printf("%c", 0.75)}'; produces nothing, instead of 0.
Here we need to convert the floating point number to integer by int(X), which is an awk built-in function, instead of GNU extension.
Change-Id: I3470d5f13e7ea59a978d5575a54c0d56368dc78d Signed-off-by: Zheng Bao zheng.bao@amd.com Signed-off-by: Zheng Bao fishbaozi@gmail.com
Build-Tested: build bot (Jenkins) at Mon Sep 24 06:41:09 2012, giving +1 Reviewed-By: Peter Stuge peter@stuge.se at Mon Sep 24 09:19:26 2012, giving +2 See http://review.coreboot.org/1529 for details.
-gerrit