aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2013-10-03 21:10:13 +0800
committernox <nox@FreeBSD.org>2013-10-03 21:10:13 +0800
commit85f77906b11e587ba91df0d3d3892330a5f65a16 (patch)
tree813be81c370748ff5d0e72034089e2d743e2da2b /emulators
parent3d4e5fbf36636cc7d3a7690afc11ff31dbc6a62b (diff)
downloadfreebsd-ports-gnome-85f77906b11e587ba91df0d3d3892330a5f65a16.tar.gz
freebsd-ports-gnome-85f77906b11e587ba91df0d3d3892330a5f65a16.tar.zst
freebsd-ports-gnome-85f77906b11e587ba91df0d3d3892330a5f65a16.zip
- Add patch to fix mips-softmmu target crashes with clang. [1]
- Remove USE_GCC. - Bump PORTREVISION. Submitted by: dim [1]
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu-devel/Makefile6
-rw-r--r--emulators/qemu-devel/files/patch-cpu-exec.c13
2 files changed, 14 insertions, 5 deletions
diff --git a/emulators/qemu-devel/Makefile b/emulators/qemu-devel/Makefile
index d35d01d8c797..08ee376da586 100644
--- a/emulators/qemu-devel/Makefile
+++ b/emulators/qemu-devel/Makefile
@@ -3,7 +3,7 @@
PORTNAME= qemu
PORTVERSION= 1.6.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= emulators
MASTER_SITES= http://wiki.qemu.org/download/:release \
LOCAL/nox:snapshot
@@ -63,10 +63,6 @@ CONFIGURE_ARGS+= --enable-nptl --target-list=i386-softmmu,x86_64-softmmu,i386-bs
CONFIGURE_ARGS+= --target-list=i386-softmmu,x86_64-softmmu
.endif
.else
-# clang seems to build a broken mips-softmmu target (qemu segfaults
-# at boot) Feel free to debug :) Some info is here:
-# http://people.freebsd.org/~nox/tmp/qemu-1.6.0-mips-softmmu-crash.txt
-USE_GCC= any
.if empty(PORT_OPTIONS:MBSD_USER)
CONFIGURE_ARGS+= --disable-bsd-user
.else
diff --git a/emulators/qemu-devel/files/patch-cpu-exec.c b/emulators/qemu-devel/files/patch-cpu-exec.c
new file mode 100644
index 000000000000..57229ab351db
--- /dev/null
+++ b/emulators/qemu-devel/files/patch-cpu-exec.c
@@ -0,0 +1,13 @@
+--- a/cpu-exec.c
++++ b/cpu-exec.c
+@@ -681,6 +681,10 @@ int cpu_exec(CPUArchState *env)
+ * local variables as longjmp is marked 'noreturn'. */
+ cpu = current_cpu;
+ env = cpu->env_ptr;
++#if !(defined(CONFIG_USER_ONLY) && \
++ (defined(TARGET_M68K) || defined(TARGET_PPC) || defined(TARGET_S390X)))
++ cc = CPU_GET_CLASS(cpu);
++#endif
+ }
+ } /* for(;;) */
+