From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CnP0z-0005eM-3S for qemu-devel@nongnu.org; Sat, 08 Jan 2005 17:24:57 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CnP0r-0005Yg-1S for qemu-devel@nongnu.org; Sat, 08 Jan 2005 17:24:49 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CnP0q-0005YL-Pb for qemu-devel@nongnu.org; Sat, 08 Jan 2005 17:24:48 -0500 Received: from [195.250.128.75] (helo=smtp2.vol.cz) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1CnOok-0003VN-2m for qemu-devel@nongnu.org; Sat, 08 Jan 2005 17:12:18 -0500 Message-ID: <41E05ABD.6060000@volny.cz> Date: Sat, 08 Jan 2005 23:12:13 +0100 From: Filip Navara MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: win32 build broken References: <0607B33A-5E93-11D9-9B65-000A9585A104@cordney.com> <20050106223507.GG23549@cs.unibo.it> In-Reply-To: Content-Type: multipart/mixed; boundary="------------080700000808040105090003" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: daimon55@free.fr, qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------080700000808040105090003 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Ronald wrote: >After tonight's update here is what I get: > [snip] Does the attached patch help? - Filip --------------080700000808040105090003 Content-Type: text/x-patch; name="qemu.diff " Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="qemu.diff " --- exec-all.h Tue Jan 4 00:35:10 2005 +++ exec-all.h Fri Jan 7 17:44:27 2005 @@ -343,7 +341,7 @@ #elif defined(__i386__) && defined(USE_DIRECT_JUMP) /* we patch the jump instruction directly */ -#define GOTO_TB(opname, n)\ +#define GOTO_TB(opname, tbparam, n)\ do {\ asm volatile (".section .data\n"\ ASM_NAME(__op_label) #n "." ASM_NAME(opname) ":\n"\ @@ -372,6 +370,15 @@ } while (0) #else + +/* we patch the jump instruction directly */ +#define GOTO_TB(opname, tbparam, n)\ +do {\ + static void __attribute__((unused)) *dummy ## n = &&dummy_label ## n;\ + goto *(void *)(((TranslationBlock *)tbparam)->tb_next[n]);\ +dummy_label ## n:\ + EXIT_TB(); \ +} while (0) /* jump to next block operations (more portable code, does not need cache flushing, but slower because of indirect jump) */ --- slirp/slirp.h Sun Nov 14 19:58:04 2004 +++ slirp/slirp.h Fri Jan 7 16:08:04 2005 @@ -20,6 +20,7 @@ typedef uint64_t u_int64_t; typedef char *caddr_t; +# include # include # include # include Only in .: sparc-softmmu diff -ru ../qemu-snapshot-2005-01-06_23/target-i386/op.c ./target-i386/op.c --- ../qemu-snapshot-2005-01-06_23/target-i386/op.c Thu Jan 6 21:46:58 2005 +++ ./target-i386/op.c Fri Jan 7 17:39:47 2005 @@ -1262,12 +1262,12 @@ void OPPROTO op_goto_tb0(void) { - GOTO_TB(op_goto_tb0, 0); + GOTO_TB(op_goto_tb0, PARAM1, 0); } void OPPROTO op_goto_tb1(void) { - GOTO_TB(op_goto_tb1, 1); + GOTO_TB(op_goto_tb1, PARAM1, 1); } void OPPROTO op_jmp_label(void) --------------080700000808040105090003--