From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.34) id 1BOiUr-0003YB-5t for qemu-devel@nongnu.org; Fri, 14 May 2004 15:37:29 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.34) id 1BOiUD-0003Pn-O3 for qemu-devel@nongnu.org; Fri, 14 May 2004 15:37:22 -0400 Received: from [62.210.158.46] (helo=teheran.magic.fr) by monty-python.gnu.org with esmtp (Exim 4.34) id 1BOiUD-0003PX-5D for qemu-devel@nongnu.org; Fri, 14 May 2004 15:36:49 -0400 Subject: Re: [Qemu-devel] Problem with PPC user emulation. From: Jocelyn Mayer In-Reply-To: References: Content-Type: text/plain Message-Id: <1084563725.1626.7912.camel@jma1.dev.netgem.com> Mime-Version: 1.0 Date: 14 May 2004 21:42:06 +0200 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Karel Gardas Cc: qemu-devel@nongnu.org On Fri, 2004-05-14 at 21:26, Karel Gardas wrote: > On Fri, 14 May 2004, Jocelyn Mayer wrote: > > > On Fri, 2004-05-14 at 19:59, Karel Gardas wrote: > > > Hello, > > > > > > I've tried PPC user emulation provided by this week source tree, but w/o > > > success. I've tested crosstool's 4 test binaries (hello world in c/c++ > > > static and dynamic) but all four crash with: > > > > > > thinkpad:/mnt/karel/cross-gcc/result/powerpc-405-linux-gnu/gcc-3.4.0-glibc-2.3.2/tmp$ ppc.sh ./powerpc-405-linux-gnu-hello > > > *** ERROR: idx a0 already assigned to a direct opcode > > > *** ERROR: unable to join indirect table idx [a0-37] > > > *** ERROR initializing PPC instruction 0xa0 0x37 0xfe > > > /opt/qemu-scripts/bin/ppc.sh: line 3: 3496 Segmentation fault qemu-ppc -L /mnt/karel/cross-gcc/result/powerpc-405-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc-405-linux-gnu/ $@ > > > thinkpad:/mnt/karel/cross-gcc/result/powerpc-405-linux-gnu/gcc-3.4.0-glibc-2.3.2/tmp$ > > > > > > I used crosstool-0.28-pre13 for building ppc crosscompiler which is > > > gcc3.4.0 and glibc2.3.2 combination. > > > > > > > What is your host machine ? > > Debian GNU/Linux 3.0. On a PC ? > > > It seems there is a mess in the way sections are handled by this gcc > > version and/or for your host machine. > > This seems clear to me, because there can be no instruction with this > > opcode, as major opcode is 6 bits long in PPC and so can't be 0xa0. > > > > Could you please send me the qemu binary by mail, so I could check the > > executable structure (the opcode table structure, in fact...) ? > > Sure! I will send you the smaller one (C statically linked hello world > app) Well, I need the Qemu executable, not the emulated program, because the point you report is a bug inside qemu: it stops before trying to execute any emulated code, and I want to study the way it's been compiled by gcc... > > But you may not be able to execute PPC405 dedicated binaries, > > as this CPU implements some instructions that aren't in the PPC spec > > then not emulated by Qemu. > > Aha! This might be the issue. This is not the issue for your crash, but you may have other problems later, using PPC405 binaries. I will had the 405 dedicated instructions later, when the PPC core will more stable (I still have ennoying bugs to solve). -- Jocelyn Mayer Never organized