the following patch was just integrated into master:
commit 19a5c59caaf4b064d1d75970ce2e9e62aad0635b
Author: Idwer Vollering <vidwer(a)gmail.com>
Date: Mon Feb 25 03:49:04 2013 +0100
Fix QEMU build for glibc-2.17
The clock_* functions are no longer in librt starting with glibc-2.17,
but timer_* functions are.
This solves linker errors similar to this:
(32-bit archlinux installation with glibc 2.17-3, binutils 2.23.1-3, glib2 2.34.3-1)
/usr/bin/ld: ../qemu-timer.o: undefined reference to symbol 'timer_settime@@GLIBC_2.2'
/usr/bin/ld: note: 'timer_settime@@GLIBC_2.2' is defined in DSO /usr/lib/librt.so.1 so try adding it to the linker command line
/usr/lib/librt.so.1: could not read symbols: Invalid operation
Change-Id: I2d335d065457788ef8aada7d0d500e84ba31e4d0
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/2504
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Build-Tested: build bot (Jenkins) at Sun Mar 17 19:10:47 2013, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer(a)coreboot.org> at Fri Mar 22 16:31:37 2013, giving +2
See http://review.coreboot.org/2504 for details.
-gerrit
the following patch was just integrated into master:
commit 8f48f5069b988ad07d63256ffd1a7ddcbbb5c619
Author: Kyösti Mälkki <kyosti.malkki(a)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(a)gmail.com>
Reviewed-on: http://review.coreboot.org/2772
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich(a)gmail.com>
Build-Tested: build bot (Jenkins) at Sun Mar 17 19:16:49 2013, giving +1
See http://review.coreboot.org/2772 for details.
-gerrit
the following patch was just integrated into master:
commit 2cbc13e8d14aabb4523a3a0e4439d8a25839110c
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sat Mar 16 13:11:38 2013 +0200
Fix generation of shared LUA library.
Include library dependencies '-lm -ldl' in the generation
of the shared LUA library already, in case user has to install
patched LUA from source.
Change-Id: I90e46828ea72862f7d06002df230dd6f348437eb
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/2771
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Build-Tested: build bot (Jenkins) at Sat Mar 16 12:58:35 2013, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer(a)coreboot.org> at Fri Mar 22 16:30:20 2013, giving +2
See http://review.coreboot.org/2771 for details.
-gerrit
the following patch was just integrated into master:
commit f2f55a80cbd7a439d1cb23b50815949ff8a2f423
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sat Mar 9 10:37:43 2013 +0200
Move board and chipset files
Add some structure to the tree and improve script loading.
Change-Id: I18221246a706faa278032b4f6444bbcbb93cefeb
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Reviewed-on: http://review.coreboot.org/2704
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
Build-Tested: build bot (Jenkins) at Tue Mar 19 12:49:01 2013, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer(a)coreboot.org> at Wed Mar 20 05:52:33 2013, giving +2
See http://review.coreboot.org/2704 for details.
-gerrit
Kyösti Mälkki (kyosti.malkki(a)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(a)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(a)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"
Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2504
-gerrit
commit 916de93aa5d883cdae0a4659b8f163a0c3a62229
Author: Idwer Vollering <vidwer(a)gmail.com>
Date: Mon Feb 25 03:49:04 2013 +0100
Fix QEMU build for glibc-2.17
The clock_* functions are no longer in librt starting with glibc-2.17,
but timer_* functions are.
This solves linker errors similar to this:
(32-bit archlinux installation with glibc 2.17-3, binutils 2.23.1-3, glib2 2.34.3-1)
/usr/bin/ld: ../qemu-timer.o: undefined reference to symbol 'timer_settime@@GLIBC_2.2'
/usr/bin/ld: note: 'timer_settime@@GLIBC_2.2' is defined in DSO /usr/lib/librt.so.1 so try adding it to the linker command line
/usr/lib/librt.so.1: could not read symbols: Invalid operation
Change-Id: I2d335d065457788ef8aada7d0d500e84ba31e4d0
Signed-off-by: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
---
qemu-0.15.x/configure | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/qemu-0.15.x/configure b/qemu-0.15.x/configure
index 24778bf..947fa3f 100755
--- a/qemu-0.15.x/configure
+++ b/qemu-0.15.x/configure
@@ -2401,7 +2401,10 @@ fi
cat > $TMPC <<EOF
#include <signal.h>
#include <time.h>
-int main(void) { clockid_t id; return clock_gettime(id, NULL); }
+int main(void) {
+ timer_t timer; struct itimerspec timeout; timer_settime(timer, 0, &timeout, NULL);
+ clockid_t id; return clock_gettime(id, NULL);
+}
EOF
if compile_prog "" "" ; then
Kyösti Mälkki (kyosti.malkki(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2772
-gerrit
commit d362bbceedc33c5895840977149546703279f5aa
Author: Kyösti Mälkki <kyosti.malkki(a)gmail.com>
Date: Sat Mar 16 13:12:01 2013 +0200
Do not build without compatible LUA
The pre-built LUA library for 32-bit distro is most likely built
with the type of LUA_INTEGER having essentially range of signed
32 bit 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(a)gmail.com>
---
qemu-0.15.x/build.sh | 5 ++++-
qemu-0.15.x/configure | 19 ++++++++++++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/qemu-0.15.x/build.sh b/qemu-0.15.x/build.sh
index 34b564c..2d8ec98 100644
--- a/qemu-0.15.x/build.sh
+++ b/qemu-0.15.x/build.sh
@@ -2,4 +2,7 @@
./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..5bb082f 100755
--- a/qemu-0.15.x/configure
+++ b/qemu-0.15.x/configure
@@ -1763,7 +1763,24 @@ EOF
echo
exit 1
fi
- serialice=yes
+
+# Test if lua-5.2.x-intsize.patch has been applied. On a 32-bit host system
+# LUA_INTEGER is a signed 32 bit integer 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 patch to handle 32 bit unsigned integers"
+ echo "correctly. Can't build with SerialICE support."
+ echo
+ exit 1
+ fi
+
libs_softmmu="$lua_ldflags $libs_softmmu"
fi # test "$serialice"