From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MDiZV-0000g2-D3 for qemu-devel@nongnu.org; Mon, 08 Jun 2009 13:23:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MDiZQ-0000fd-5I for qemu-devel@nongnu.org; Mon, 08 Jun 2009 13:23:44 -0400 Received: from [199.232.76.173] (port=45567 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MDiZQ-0000fa-03 for qemu-devel@nongnu.org; Mon, 08 Jun 2009 13:23:40 -0400 Subject: Re: [Qemu-devel] [6967] Temporary workaround for ppc on ppc From: Mark McLoughlin In-Reply-To: References: Content-Type: text/plain Date: Mon, 08 Jun 2009 18:23:21 +0100 Message-Id: <1244481801.3632.71.camel@blaa> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: Mark McLoughlin List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Pavel Roskin , Glauber de Oliveira Costa On Thu, 2009-04-02 at 01:16 +0000, malc wrote: > Revision: 6967 > http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6967 > Author: malc > Date: 2009-04-02 01:16:39 +0000 (Thu, 02 Apr 2009) > Log Message: > ----------- > Temporary workaround for ppc on ppc > > target-ppc/translate.c puts values of type opcode_t into .opcodes > section, using GCC extension to do so, and hoping that this will make > them appear contiguously and in the source order in the resulting > executable. This assumption is not safe and is known to be violated > with certain versions of GCC, certain flags passed to it and on > certain platforms (gcc 4.3.0, -O and PPC/PPC64 for instance) > > The workaround consists of adding -fno-unit-at-a-time to the list of > GCC command line options while building PPC translate.o on a PPC. > > Modified Paths: > -------------- > trunk/Makefile.target > > Modified: trunk/Makefile.target > =================================================================== > --- trunk/Makefile.target 2009-04-01 23:10:46 UTC (rev 6966) > +++ trunk/Makefile.target 2009-04-02 01:16:39 UTC (rev 6967) > @@ -84,6 +84,10 @@ > HELPER_CFLAGS+=-fomit-frame-pointer > endif > > +ifeq ($(subst ppc64,ppc,$(ARCH))$(TARGET_BASE_ARCH),ppcppc) > +translate.o: CFLAGS := $(CFLAGS) $(call cc-option, $(CFLAGS), -fno-unit-at-a-time,) > +endif > + > ifeq ($(ARCH),sparc) > CFLAGS+=-ffixed-g2 -ffixed-g3 > ifneq ($(CONFIG_SOLARIS),yes) > Could we get this applied to the stable branch? It goes some way to fixing qemu-system-ppc on a ppc host in Fedora 11: https://bugzilla.redhat.com/504273 Cheers, Mark.