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? Thanks, Aurelien 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 <aure...@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)) endif +ifeq ($(DEB_HOST_ARCH),mips) +BINFMT_TARGETS=$(filter-out mips, $(ALL_BINFMT_TARGETS)) +endif +ifeq ($(DEB_HOST_ARCH),mipsel) +BINFMT_TARGETS=$(filter-out mipsel, $(ALL_BINFMT_TARGETS)) +endif ifeq ($(DEB_HOST_ARCH),powerpc) BINFMT_TARGETS=$(filter-out ppc, $(ALL_BINFMT_TARGETS)) endif 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 @@ 05_bochs_vbe.diff 06_sh4.diff +07_tcg-mips-fix-branch-target-change-during-code-retran.patch 99_stable.diff security/leftover.patch only in patch2: unchanged: --- 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 <aurel...@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 <aurel...@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 aurel...@aurel32.net http://www.aurel32.net
signature.asc
Description: Digital signature