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 --