Update to QEMU 1.4.1. Includes a fix for CVE-2013-1922.
ok sthen@
This commit is contained in:
parent
d5c9aab9b1
commit
e1fc1f0ef4
@ -1,11 +1,10 @@
|
||||
# $OpenBSD: Makefile,v 1.103 2013/04/14 20:28:56 brad Exp $
|
||||
# $OpenBSD: Makefile,v 1.104 2013/04/19 02:47:43 brad Exp $
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386 powerpc sparc64
|
||||
|
||||
COMMENT= multi system emulator
|
||||
|
||||
DISTNAME= qemu-1.4.0
|
||||
REVISION= 0
|
||||
DISTNAME= qemu-1.4.1
|
||||
CATEGORIES= emulators
|
||||
MASTER_SITES= http://wiki.qemu.org/download/
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
@ -63,8 +62,7 @@ CONFIGURE_ARGS= --prefix=${PREFIX} \
|
||||
--disable-spice \
|
||||
--disable-uuid \
|
||||
--disable-usb-redir \
|
||||
--disable-vnc-sasl \
|
||||
--with-coroutine=sigaltstack
|
||||
--disable-vnc-sasl
|
||||
|
||||
FLAVORS= debug
|
||||
FLAVOR?=
|
||||
|
@ -1,2 +1,2 @@
|
||||
SHA256 (qemu-1.4.0.tar.bz2) = BmKX7XdAj7dYiInCcahc88JZrVXJOTFZiOYGLXcI7ag=
|
||||
SIZE (qemu-1.4.0.tar.bz2) = 10419510
|
||||
SHA256 (qemu-1.4.1.tar.bz2) = dQY6kyYiFgfeNZnon7WvgPLYCA3cVcolP/8ROENDLfE=
|
||||
SIZE (qemu-1.4.1.tar.bz2) = 10417738
|
||||
|
21
emulators/qemu/patches/patch-Makefile_objs
Normal file
21
emulators/qemu/patches/patch-Makefile_objs
Normal file
@ -0,0 +1,21 @@
|
||||
$OpenBSD: patch-Makefile_objs,v 1.1 2013/04/19 02:47:43 brad Exp $
|
||||
--- Makefile.objs.orig Fri Feb 15 18:05:35 2013
|
||||
+++ Makefile.objs Sun Apr 14 04:06:36 2013
|
||||
@@ -16,16 +16,7 @@ block-obj-y += qapi-types.o qapi-visit.o
|
||||
|
||||
block-obj-y += qemu-coroutine.o qemu-coroutine-lock.o qemu-coroutine-io.o
|
||||
block-obj-y += qemu-coroutine-sleep.o
|
||||
-ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
|
||||
-block-obj-$(CONFIG_POSIX) += coroutine-ucontext.o
|
||||
-else
|
||||
-ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
|
||||
-block-obj-$(CONFIG_POSIX) += coroutine-sigaltstack.o
|
||||
-else
|
||||
-block-obj-$(CONFIG_POSIX) += coroutine-gthread.o
|
||||
-endif
|
||||
-endif
|
||||
-block-obj-$(CONFIG_WIN32) += coroutine-win32.o
|
||||
+block-obj-y += coroutine-$(CONFIG_COROUTINE_BACKEND).o
|
||||
|
||||
ifeq ($(CONFIG_VIRTIO)$(CONFIG_VIRTFS)$(CONFIG_PCI),yyy)
|
||||
# Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add.
|
@ -1,7 +1,95 @@
|
||||
$OpenBSD: patch-configure,v 1.30 2013/03/20 00:46:01 brad Exp $
|
||||
--- configure.orig Fri Feb 1 20:21:48 2013
|
||||
+++ configure Sat Feb 2 07:47:01 2013
|
||||
@@ -3158,8 +3158,6 @@ fi
|
||||
$OpenBSD: patch-configure,v 1.31 2013/04/19 02:47:43 brad Exp $
|
||||
--- configure.orig Mon Apr 15 16:25:18 2013
|
||||
+++ configure Mon Apr 15 20:55:05 2013
|
||||
@@ -3035,34 +3035,67 @@ fi
|
||||
##########################################
|
||||
# check and set a backend for coroutine
|
||||
|
||||
-# default is ucontext, but always fallback to gthread
|
||||
-# windows autodetected by make
|
||||
-if test "$coroutine" = "" -o "$coroutine" = "ucontext"; then
|
||||
- if test "$darwin" != "yes"; then
|
||||
- cat > $TMPC << EOF
|
||||
+# We prefer ucontext, but it's not always possible. The fallback
|
||||
+# is sigcontext. gthread is not selectable except explicitly, because
|
||||
+# it is not functional enough to run QEMU proper. (It is occasionally
|
||||
+# useful for debugging purposes.) On Windows the only valid backend
|
||||
+# is the Windows-specific one.
|
||||
+
|
||||
+ucontext_works=no
|
||||
+if test "$darwin" != "yes"; then
|
||||
+ cat > $TMPC << EOF
|
||||
#include <ucontext.h>
|
||||
#ifdef __stub_makecontext
|
||||
#error Ignoring glibc stub makecontext which will always fail
|
||||
#endif
|
||||
int main(void) { makecontext(0, 0, 0); return 0; }
|
||||
EOF
|
||||
- if compile_prog "" "" ; then
|
||||
- coroutine_backend=ucontext
|
||||
- else
|
||||
- coroutine_backend=gthread
|
||||
- fi
|
||||
+ if compile_prog "" "" ; then
|
||||
+ ucontext_works=yes
|
||||
fi
|
||||
-elif test "$coroutine" = "gthread" ; then
|
||||
- coroutine_backend=gthread
|
||||
-elif test "$coroutine" = "windows" ; then
|
||||
- coroutine_backend=windows
|
||||
-elif test "$coroutine" = "sigaltstack" ; then
|
||||
- coroutine_backend=sigaltstack
|
||||
+fi
|
||||
+
|
||||
+if test "$coroutine" = ""; then
|
||||
+ if test "$mingw32" = "yes"; then
|
||||
+ coroutine=win32
|
||||
+ elif test "$ucontext_works" = "yes"; then
|
||||
+ coroutine=ucontext
|
||||
+ else
|
||||
+ coroutine=sigaltstack
|
||||
+ fi
|
||||
else
|
||||
- echo
|
||||
- echo "Error: unknown coroutine backend $coroutine"
|
||||
- echo
|
||||
- exit 1
|
||||
+ case $coroutine in
|
||||
+ windows)
|
||||
+ if test "$mingw32" != "yes"; then
|
||||
+ echo
|
||||
+ echo "Error: 'windows' coroutine backend only valid for Windows"
|
||||
+ echo
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ # Unfortunately the user visible backend name doesn't match the
|
||||
+ # coroutine-*.c filename for this case, so we have to adjust it here.
|
||||
+ coroutine=win32
|
||||
+ ;;
|
||||
+ ucontext)
|
||||
+ if test "$ucontext_works" != "yes"; then
|
||||
+ feature_not_found "ucontext"
|
||||
+ fi
|
||||
+ ;;
|
||||
+ gthread|sigaltstack)
|
||||
+ if test "$mingw32" = "yes"; then
|
||||
+ echo
|
||||
+ echo "Error: only the 'windows' coroutine backend is valid for Windows"
|
||||
+ echo
|
||||
+ exit 1
|
||||
+ fi
|
||||
+ ;;
|
||||
+ *)
|
||||
+ echo
|
||||
+ echo "Error: unknown coroutine backend $coroutine"
|
||||
+ echo
|
||||
+ exit 1
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
|
||||
##########################################
|
||||
@@ -3164,8 +3197,6 @@ fi
|
||||
if test "$gcov" = "yes" ; then
|
||||
CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
|
||||
LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
|
||||
@ -10,3 +98,25 @@ $OpenBSD: patch-configure,v 1.30 2013/03/20 00:46:01 brad Exp $
|
||||
fi
|
||||
|
||||
|
||||
@@ -3345,7 +3376,7 @@ echo "OpenGL support $opengl"
|
||||
echo "libiscsi support $libiscsi"
|
||||
echo "build guest agent $guest_agent"
|
||||
echo "seccomp support $seccomp"
|
||||
-echo "coroutine backend $coroutine_backend"
|
||||
+echo "coroutine backend $coroutine"
|
||||
echo "GlusterFS support $glusterfs"
|
||||
echo "virtio-blk-data-plane $virtio_blk_data_plane"
|
||||
echo "gcov $gcov_tool"
|
||||
@@ -3668,11 +3699,7 @@ if test "$rbd" = "yes" ; then
|
||||
echo "CONFIG_RBD=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
-if test "$coroutine_backend" = "ucontext" ; then
|
||||
- echo "CONFIG_UCONTEXT_COROUTINE=y" >> $config_host_mak
|
||||
-elif test "$coroutine_backend" = "sigaltstack" ; then
|
||||
- echo "CONFIG_SIGALTSTACK_COROUTINE=y" >> $config_host_mak
|
||||
-fi
|
||||
+echo "CONFIG_COROUTINE_BACKEND=$coroutine" >> $config_host_mak
|
||||
|
||||
if test "$open_by_handle_at" = "yes" ; then
|
||||
echo "CONFIG_OPEN_BY_HANDLE=y" >> $config_host_mak
|
||||
|
@ -1,13 +0,0 @@
|
||||
$OpenBSD: patch-include_qemu_timer_h,v 1.1 2013/04/01 13:40:32 brad Exp $
|
||||
--- include/qemu/timer.h.orig Sun Mar 31 14:23:42 2013
|
||||
+++ include/qemu/timer.h Sun Mar 31 14:24:08 2013
|
||||
@@ -118,7 +118,8 @@ extern int use_rt_clock;
|
||||
static inline int64_t get_clock(void)
|
||||
{
|
||||
#if defined(__linux__) || (defined(__FreeBSD__) && __FreeBSD_version >= 500000) \
|
||||
- || defined(__DragonFly__) || defined(__FreeBSD_kernel__)
|
||||
+ || defined(__DragonFly__) || defined(__FreeBSD_kernel__) \
|
||||
+ || defined(__OpenBSD__)
|
||||
if (use_rt_clock) {
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
24
emulators/qemu/patches/patch-tests_Makefile
Normal file
24
emulators/qemu/patches/patch-tests_Makefile
Normal file
@ -0,0 +1,24 @@
|
||||
$OpenBSD: patch-tests_Makefile,v 1.1 2013/04/19 02:47:43 brad Exp $
|
||||
--- tests/Makefile.orig Sun Apr 14 04:09:05 2013
|
||||
+++ tests/Makefile Sun Apr 14 04:09:33 2013
|
||||
@@ -24,19 +24,7 @@ gcov-files-test-string-input-visitor-y = qapi/string-i
|
||||
check-unit-y += tests/test-string-output-visitor$(EXESUF)
|
||||
gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c
|
||||
check-unit-y += tests/test-coroutine$(EXESUF)
|
||||
-ifeq ($(CONFIG_WIN32),y)
|
||||
-gcov-files-test-coroutine-y = coroutine-win32.c
|
||||
-else
|
||||
-ifeq ($(CONFIG_UCONTEXT_COROUTINE),y)
|
||||
-gcov-files-test-coroutine-y = coroutine-ucontext.c
|
||||
-else
|
||||
-ifeq ($(CONFIG_SIGALTSTACK_COROUTINE),y)
|
||||
-gcov-files-test-coroutine-y = coroutine-sigaltstack.c
|
||||
-else
|
||||
-gcov-files-test-coroutine-y = coroutine-gthread.c
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
+gcov-files-test-coroutine-y = coroutine-$(CONFIG_COROUTINE_BACKEND).c
|
||||
check-unit-y += tests/test-visitor-serialization$(EXESUF)
|
||||
check-unit-y += tests/test-iov$(EXESUF)
|
||||
gcov-files-test-iov-y = util/iov.c
|
Loading…
Reference in New Issue
Block a user