[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SRM] Approval for qemu_0.12.5+dfsg-3squeeze1

Hi release team,

I would like to upload a version of qemu to squeeze in order to fix a
critical bug on mips(el) systems. Installing qemu-user-static along with
binfmt-support (which is a recommended package) simply renders the
system unusable. The bug is due to the packaging, and I have just 
uploaded the fix to unstable.

While I am doing an upload to squeeze, I would like to fix another bug 
concerning mips(el) hosts. Depending on the CPU (especially on the cache
properties), qemu-system-* might crash very early during the boot
process, basically making this package useless. The patch is a 
one-liner fix, is already present in upstream for a few weeks and in
unstable for a bit more than a week.

I have attached the proposed patch below, would it be ok to upload it
into squeeze?


diff -u qemu-0.12.5+dfsg/debian/changelog qemu-0.12.5+dfsg/debian/changelog
--- qemu-0.12.5+dfsg/debian/changelog
+++ qemu-0.12.5+dfsg/debian/changelog
@@ -1,3 +1,11 @@
+qemu (0.12.5+dfsg-3squeeze1) squeeze-proposed-updates; urgency=low
+  * Don't register qemu-mips(el) with binfmt on mips(el).  Closes:
+    #618369.
+  * mips hosts: fix branch target change during code retranslation.
+ -- Aurelien Jarno <aurel32@debian.org>  Thu, 17 Mar 2011 22:38:30 +0100
 qemu (0.12.5+dfsg-3) unstable; urgency=medium
   * qemu-user-static: 
diff -u qemu-0.12.5+dfsg/debian/rules qemu-0.12.5+dfsg/debian/rules
--- qemu-0.12.5+dfsg/debian/rules
+++ qemu-0.12.5+dfsg/debian/rules
@@ -47,6 +47,12 @@
 # http://bugs.debian.org/604712
 BINFMT_TARGETS=$(filter-out i386 x86_64, $(ALL_BINFMT_TARGETS))
+ifeq ($(DEB_HOST_ARCH),mips)
+ifeq ($(DEB_HOST_ARCH),mipsel)
+BINFMT_TARGETS=$(filter-out mipsel, $(ALL_BINFMT_TARGETS))
 ifeq ($(DEB_HOST_ARCH),powerpc)
diff -u qemu-0.12.5+dfsg/debian/patches/series qemu-0.12.5+dfsg/debian/patches/series
--- qemu-0.12.5+dfsg/debian/patches/series
+++ qemu-0.12.5+dfsg/debian/patches/series
@@ -3,4 +3,5 @@
only in patch2:
--- qemu-0.12.5+dfsg.orig/debian/patches/07_tcg-mips-fix-branch-target-change-during-code-retran.patch
+++ qemu-0.12.5+dfsg/debian/patches/07_tcg-mips-fix-branch-target-change-during-code-retran.patch
@@ -0,0 +1,26 @@
+From d43ffce14023df871d6065eb864d1f41eb441f37 Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Thu, 6 Jan 2011 22:43:14 +0100
+Subject: [PATCH] tcg/mips: fix branch target change during code retranslation
+TCG on MIPS was trying to avoid changing the branch offset, but didn't
+due to a stupid typo. Fix it.
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+ tcg/mips/tcg-target.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+diff --git a/tcg/mips/tcg-target.c b/tcg/mips/tcg-target.c
+index 2af7a2e..4e92a50 100644
+--- a/tcg/mips/tcg-target.c
++++ b/tcg/mips/tcg-target.c
+@@ -352,7 +352,7 @@ static inline void tcg_out_opc_imm(TCGContext *s, int opc, int rt, int rs, int i
+ static inline void tcg_out_opc_br(TCGContext *s, int opc, int rt, int rs)
+ {
+     /* We need to keep the offset unchanged for retranslation */
+-    uint16_t offset = (uint16_t)(*(uint32_t *) &s->code_ptr);
++    uint16_t offset = (uint16_t)(*(uint32_t *) s->code_ptr);
+     tcg_out_opc_imm(s, opc, rt, rs, offset);
+ }

Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

Attachment: signature.asc
Description: Digital signature

Reply to: