Kyösti Mälkki (kyosti.malkki@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2772
-gerrit
commit 59acf368a2c4f91cf64d6bd6ffbc670b8666fae5 Author: Kyösti Mälkki kyosti.malkki@gmail.com Date: Sat Mar 16 13:12:01 2013 +0200
Do not build without compatible Lua
The pre-built Lua library for 32bit distribution is most likely built with the type of LUA_INTEGER having essentially range of signed 32bit integer. SerialICE requires range of 32bit unsigned, so do not even begin the build if that is not satisfied.
Change-Id: Icb93d0126aac5e6e6aaa49cb04a2ebb6077389f1 Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com --- qemu-0.15.x/build.sh | 4 +++- qemu-0.15.x/configure | 21 +++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/qemu-0.15.x/build.sh b/qemu-0.15.x/build.sh index 34b564c..e44ebc1 100644 --- a/qemu-0.15.x/build.sh +++ b/qemu-0.15.x/build.sh @@ -2,4 +2,6 @@ ./configure --disable-kvm --disable-sdl --enable-serialice \ --target-list="x86_64-softmmu, i386-softmmu"
-make +if [ $? -eq 0 ]; then + make +fi diff --git a/qemu-0.15.x/configure b/qemu-0.15.x/configure index 5eed581..24778bf 100755 --- a/qemu-0.15.x/configure +++ b/qemu-0.15.x/configure @@ -1759,11 +1759,28 @@ EOF fi if test "$got_lua" != "yes" ; then echo - echo "Error LUA version >= 5.2 not found, can't build with SerialICE support." + echo "Error Lua version >= 5.2 not found. Can't build QEMU with SerialICE support." echo exit 1 fi - serialice=yes + +# Test if lua-5.2.x-intsize.patch has been applied. On a 32bit host system +# LUA_INTEGER is often a signed 32bit integer (ptrdiff_t) and not enough for our needs. + cat > $TMPC << EOF +#include <lua.h> +int main(void) { LUA_INTEGER a = (unsigned long int)1<<31; if (a<0) return 1; else return 0; } +EOF + + if compile_prog "$lua_cflags" "$lua_ldflags" && $TMPE > /dev/null 2> /dev/null ; then + serialice=yes + else + echo + echo "Error Found Lua but it needs a patch to handle 32bit unsigned integers" + echo "correctly. Can't build QEMU with SerialICE support." + echo + exit 1 + fi + libs_softmmu="$lua_ldflags $libs_softmmu" fi # test "$serialice"