Subject: Re: CVS commit: pkgsrc/emulators/qemu
To: Daniel Carosone <dan@geek.com.au>
From: David Brownlee <abs@NetBSD.org>
List: pkgsrc-changes
Date: 05/18/2005 23:47:24
On Thu, 19 May 2005, Daniel Carosone wrote:

> On Wed, May 18, 2005 at 03:55:25PM +0200, Juan RP wrote:
>> Haven't tried -march=pentium, but -march=athlon/athlon-xp/pentium4
>> doesn't work.
>
> p3 too.

 	and p2 :)

>> I think it's better to remove these flags to avoid future problems,
>> don't you think?
>
> IIRC, it was only one file (per cpu emulation) that had the RTL dump
> problem.  Can it be done for just that file?  Considering what it
> does, having this code optimised seems highly desirable.

 	Two files break at compile time - op.c and helper.c, which
 	can be worked around with the patch below. What is more of
 	an issue is that if slirp/tcp_input.c is compiled with
 	better than -mcpu=pentium then tcp connections cannot be
 	made from the emulated machine. That is more invasive and
 	awkward to fix.

 	I'll make sure both are reported back to the qemu developers.

 	Has anyone tried this with gcc > 3.3 ?

--- Makefile.target.orig        2005-04-27 21:52:05.000000000 +0100
+++ Makefile.target

@@ -120,7 +120,10 @@ endif

  ifeq ($(ARCH),i386)
  CFLAGS+=-fomit-frame-pointer
-OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2
+# Setting -march=pentiumpro or above causes gcc3 to bail in ops_sse.h:215
+# error: unable to find a register to spill in class `GENERAL_REGS'
+OP_CFLAGS=$(CFLAGS) -mpreferred-stack-boundary=2 -march=i386
+HELPER_CFLAGS=$(CFLAGS) -march=i386
  ifeq ($(HAVE_GCC3_OPTIONS),yes)
  OP_CFLAGS+= -falign-functions=0 -fno-gcse
  else

-- 
 		David/absolute       -- www.NetBSD.org: No hype required --