From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DdxLq-0001Gr-B2 for qemu-devel@nongnu.org; Thu, 02 Jun 2005 17:35:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DdxLo-0001GB-Jl for qemu-devel@nongnu.org; Thu, 02 Jun 2005 17:35:40 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DdxLo-0001FZ-8F for qemu-devel@nongnu.org; Thu, 02 Jun 2005 17:35:40 -0400 Received: from [84.14.106.134] (helo=office.mandriva.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1DdxKc-0000N1-5J for qemu-devel@nongnu.org; Thu, 02 Jun 2005 17:34:26 -0400 Date: Thu, 2 Jun 2005 23:27:59 +0200 (CEST) From: Gwenole Beauchesne Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: [Qemu-devel] [PATCH] Fix gcc4 patch Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: paul@codesourcery.com Hi, I got a "No return instruction found in op_lmsw_T0" when building qemu with the gcc4 patch + gcc3.3. push imm8 was misdecoded. Also fixed the imul case at the same time. Tested with gcc 3.3.4 (hammer-branch), 3.4.3, 4.0.1 (4.0-branch). 2005-06-02 Gwenole Beauchesne * dyngen.c (trace_i386_insn): Fix push/imul case with 8-bit immediate. --- dyngen.c.orig 2005-06-02 21:41:51.000000000 +0200 +++ dyngen.c 2005-06-02 22:19:59.000000000 +0200 @@ -1672,14 +1672,19 @@ is_prefix = 1; break; case 8: /* push immediate */ - case 10: /* pop immediate */ immed = op_size; modrm = 0; break; + case 10: /* push 8-bit immediate */ + immed = 1; + modrm = 0; + break; case 9: /* imul immediate */ - case 11: /* imul immediate */ immed = op_size; break; + case 11: /* imul 8-bit immediate */ + immed = 1; + break; case 12: /* insb */ case 13: /* insw */ case 14: /* outsb */