From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CzySl-0006hy-0O for qemu-devel@nongnu.org; Sat, 12 Feb 2005 09:41:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CzySc-0006dw-Hz for qemu-devel@nongnu.org; Sat, 12 Feb 2005 09:41:31 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CzySb-0006cw-Qo for qemu-devel@nongnu.org; Sat, 12 Feb 2005 09:41:25 -0500 Received: from [195.130.132.58] (helo=astra.telenet-ops.be) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CzyCV-0000x8-5H for qemu-devel@nongnu.org; Sat, 12 Feb 2005 09:24:47 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by astra.telenet-ops.be (Postfix) with SMTP id C68143282BB for ; Sat, 12 Feb 2005 15:24:44 +0100 (MET) Received: from 192.168.1.2 (d51A51CF1.access.telenet.be [81.165.28.241]) by astra.telenet-ops.be (Postfix) with ESMTP id AF7373282A0 for ; Sat, 12 Feb 2005 15:24:44 +0100 (MET) From: Bob Deblier Content-Type: text/plain Date: Sat, 12 Feb 2005 15:24:44 +0100 Message-Id: <1108218284.5532.12.camel@orion> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Compilation on FC3 x86_64 host 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 Hi, Since the availability of the gcc-3.4.3-17 compiler on rawhide, which doesn't crash on qemu source code, I've tried compiling the latest CVS update once more. There seems to be a problem with dyngen generating strange output for quite a few functions in i386-user/op.h; as an example I'll select op_jmp_label: > case INDEX_op_jmp_label: { > extern void op_jmp_label(); > extern char GOTO_LABEL_PARAM; > memcpy(gen_code_ptr, (void *)((char *)&op_jmp_label+0), 20); > *(uint32_t *)(gen_code_ptr + 12) = (long)(&GOTO_LABEL_PARAM) - > (long)(gen_code_ptr + 12) + -4; > gen_code_ptr += 20; > } > break; The cause for this seems to be a missing definition for GOTO_LABEL_PARAM in dyngen-exec.h, which - assuming that the code is similar to i386 - can be patched with: diff -p -r1.20 dyngen-exec.h *** dyngen-exec.h 26 Jan 2005 21:30:57 -0000 1.20 --- dyngen-exec.h 12 Feb 2005 14:17:39 -0000 *************** extern int __op_jmp0, __op_jmp1, __op_jm *** 221,226 **** --- 221,227 ---- #endif #ifdef __x86_64__ #define EXIT_TB() asm volatile ("ret") + #define GOTO_LABEL_PARAM(n) asm volatile ("jmp " ASM_NAME (__op_gen_label) #n) #endif #ifdef __powerpc__ #define EXIT_TB() asm volatile ("blr") I haven't tested this fix yet, but it compiles the i386 targets. More feedback will follow... Sincerely, Bob Deblier