* [Qemu-devel] Compilation broken in SVN version and a debug register question
@ 2008-04-23 12:34 Balazs Attila-Mihaly (Cd-MaN)
2008-04-23 17:09 ` Blue Swirl
2008-05-04 16:29 ` Ben Taylor
0 siblings, 2 replies; 8+ messages in thread
From: Balazs Attila-Mihaly (Cd-MaN) @ 2008-04-23 12:34 UTC (permalink / raw)
To: Qemu Devel
Hello all.
I fail to compile the version 4242 from the SVN (which I checked out ~1 hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure --target-list=i386-softmmu, I get the following error:
make -C i386-softmmu all
make[1]: Entering directory `/home/cdman/qemu/trunk/i386-softmmu'
gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse -fno-optimize-sibling-calls -fno-crossjumping -fno-align-labels -fno-align-jumps -fno-align-functions -mpreferred-stack-boundary=2 -fomit-frame-pointer -m32 -I. -I.. -I/home/cdman/qemu/trunk/target-i386 -I/home/cdman/qemu/trunk -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/cdman/qemu/trunk/tcg -I/home/cdman/qemu/trunk/tcg/i386 -I/home/cdman/qemu/trunk/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/cdman/qemu/trunk/slirp -c -o op.o /home/cdman/qemu/trunk/target-i386/op.c
/home/cdman/qemu/trunk/target-i386/ops_sse.h: In function `op_pshufw_mmx':
/home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: unable to find a register to spill in class `GENERAL_REGS'
/home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: this is the insn:
(insn:HI 18 17 19 0 /home/cdman/qemu/trunk/target-i386/ops_sse.h:592 (set (strict_low_part (subreg:HI (reg/v:DI 58 [ r ]) 0))
(mem/s/j:HI (plus:SI (mult:SI (reg:SI 62)
(const_int 2 [0x2]))
(reg/v/f:SI 60 [ s ])) [0 <variable>._w S2 A16])) 54 {*movstricthi_1} (insn_list 16 (insn_list 12 (insn_list 50 (nil))))
(expr_list:REG_DEAD (reg:SI 62)
(nil)))
/home/cdman/qemu/trunk/target-i386/ops_sse.h:597: confused by earlier errors, bailing out
make[1]: *** [op.o] Error 1
make[1]: Leaving directory `/home/cdman/qemu/trunk/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2
Is this related to the recent discussion about MMX/SSE instructions?
Also, I have a weird behaviour with qemu-0.9.0 (I will test it against the SVN snapshot as soon as I can get it to compile :)). The behavior is related to hardware breakpoints. I use a Linux host and Windows XP guest and in the guest I use a user-mode debugger (Olly - http://ollydbg.de/) to debug a program. Software breakpoints work ok, but hardware breakpoints only work when I run __with__ kqemu (which is really weird, since the usual response for all the problems is "try it without kqemu" :)). Is this a known limitation or a bug? Should the code which sets the debug registers be augmented to flush the TB cache and the dyngen code changed to take into account the value of the debug registers (and raise an exception there)? But if this is the case, why does it work with kqemu enabled?
Thank you in advance for your time spent answering my questions.
Best regards.
__________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-04-23 12:34 [Qemu-devel] Compilation broken in SVN version and a debug register question Balazs Attila-Mihaly (Cd-MaN)
@ 2008-04-23 17:09 ` Blue Swirl
2008-05-04 16:29 ` Ben Taylor
1 sibling, 0 replies; 8+ messages in thread
From: Blue Swirl @ 2008-04-23 17:09 UTC (permalink / raw)
To: qemu-devel
On 4/23/08, Balazs Attila-Mihaly (Cd-MaN) <x_at_y_or_z@yahoo.com> wrote:
> Hello all.
>
> I fail to compile the version 4242 from the SVN (which I checked out ~1 hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure --target-list=i386-softmmu, I get the following error:
>
> make -C i386-softmmu all
> make[1]: Entering directory `/home/cdman/qemu/trunk/i386-softmmu'
> gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse -fno-optimize-sibling-calls -fno-crossjumping -fno-align-labels -fno-align-jumps -fno-align-functions -mpreferred-stack-boundary=2 -fomit-frame-pointer -m32 -I. -I.. -I/home/cdman/qemu/trunk/target-i386 -I/home/cdman/qemu/trunk -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/cdman/qemu/trunk/tcg -I/home/cdman/qemu/trunk/tcg/i386 -I/home/cdman/qemu/trunk/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/cdman/qemu/trunk/slirp -c -o op.o /home/cdman/qemu/trunk/target-i386/op.c
> /home/cdman/qemu/trunk/target-i386/ops_sse.h: In function `op_pshufw_mmx':
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: unable to find a register to spill in class `GENERAL_REGS'
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: this is the insn:
> (insn:HI 18 17 19 0 /home/cdman/qemu/trunk/target-i386/ops_sse.h:592 (set (strict_low_part (subreg:HI (reg/v:DI 58 [ r ]) 0))
> (mem/s/j:HI (plus:SI (mult:SI (reg:SI 62)
> (const_int 2 [0x2]))
> (reg/v/f:SI 60 [ s ])) [0 <variable>._w S2 A16])) 54 {*movstricthi_1} (insn_list 16 (insn_list 12 (insn_list 50 (nil))))
> (expr_list:REG_DEAD (reg:SI 62)
> (nil)))
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: confused by earlier errors, bailing out
> make[1]: *** [op.o] Error 1
> make[1]: Leaving directory `/home/cdman/qemu/trunk/i386-softmmu'
> make: *** [subdir-i386-softmmu] Error 2
>
> Is this related to the recent discussion about MMX/SSE instructions?
Yes. Maybe the patches here help:
http://lists.gnu.org/archive/html/qemu-devel/2008-03/msg00320.html
> Also, I have a weird behaviour with qemu-0.9.0 (I will test it against the SVN snapshot as soon as I can get it to compile :)). The behavior is related to hardware breakpoints. I use a Linux host and Windows XP guest and in the guest I use a user-mode debugger (Olly - http://ollydbg.de/) to debug a program. Software breakpoints work ok, but hardware breakpoints only work when I run __with__ kqemu (which is really weird, since the usual response for all the problems is "try it without kqemu" :)). Is this a known limitation or a bug? Should the code which sets the debug registers be augmented to flush the TB cache and the dyngen code changed to take into account the value of the debug registers (and raise an exception there)? But if this is the case, why does it work with kqemu enabled?
No idea. You seem to have a clue, so please experiment.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
@ 2008-04-24 5:19 Balazs Attila-Mihaly (Cd-MaN)
0 siblings, 0 replies; 8+ messages in thread
From: Balazs Attila-Mihaly (Cd-MaN) @ 2008-04-24 5:19 UTC (permalink / raw)
To: qemu-devel
> Yes. Maybe the patches here help:
> http://lists.gnu.org/archive/html/qemu-devel/2008-03/msg00320.html
Unfortunately no. Probably half of the problem is that the patch doesn't apply cleanly to SVN HEAD. Got the following errors during applying the patch:
2 out of 21 hunks FAILED -- saving rejects to file qemu/target-i386/translate.c.rej
1 out of 34 hunks FAILED -- saving rejects to file qemu/target-i386/ops_sse.h.rej
When trying to still compile it, I get:
/home/cdman/qemu/qemu/tcg/tcg-op.h:216: error: redefinition of 'tcg_gen_helper_0_3'
/home/cdman/qemu/qemu/tcg/tcg-op.h:204: error: previous definition of 'tcg_gen_helper_0_3' was here
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: `gen_op_punpckldq_xmm' undeclared here (not in a function)
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: initializer element is not constant
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: (near initialization for `sse_op_table1[20][0]')
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: `gen_op_punpcklqdq_xmm' undeclared here (not in a function)
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: initializer element is not constant
and so on. When fixing the first error (indeed tcg_gen_helper_0_3 was present twice??) I still the remaining errors:
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: `gen_op_punpckldq_xmm' undeclared here (not in a function)
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: initializer element is not constant
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: (near initialization for `sse_op_table1[20][0]')
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: `gen_op_punpcklqdq_xmm' undeclared here (not in a function)
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: initializer element is not constant
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: (near initialization for `sse_op_table1[20][1]')
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: initializer element is not constant
/home/cdman/qemu/qemu/target-i386/translate.c:2427: error: (near initialization for `sse_op_table1[20]')
/home/cdman/qemu/qemu/target-i386/translate.c:2428: error: `gen_op_punpckhdq_xmm' undeclared here (not in a function)
...
__________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-04-23 12:34 [Qemu-devel] Compilation broken in SVN version and a debug register question Balazs Attila-Mihaly (Cd-MaN)
2008-04-23 17:09 ` Blue Swirl
@ 2008-05-04 16:29 ` Ben Taylor
2008-05-04 17:29 ` Brad Campbell
1 sibling, 1 reply; 8+ messages in thread
From: Ben Taylor @ 2008-05-04 16:29 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 3354 bytes --]
On Wed, Apr 23, 2008 at 8:34 AM, Balazs Attila-Mihaly (Cd-MaN)
<x_at_y_or_z@yahoo.com> wrote:
> Hello all.
>
> I fail to compile the version 4242 from the SVN (which I checked out ~1 hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure --target-list=i386-softmmu, I get the following error:
>
> make -C i386-softmmu all
> make[1]: Entering directory `/home/cdman/qemu/trunk/i386-softmmu'
> gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse -fno-optimize-sibling-calls -fno-crossjumping -fno-align-labels -fno-align-jumps -fno-align-functions -mpreferred-stack-boundary=2 -fomit-frame-pointer -m32 -I. -I.. -I/home/cdman/qemu/trunk/target-i386 -I/home/cdman/qemu/trunk -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/cdman/qemu/trunk/tcg -I/home/cdman/qemu/trunk/tcg/i386 -I/home/cdman/qemu/trunk/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/cdman/qemu/trunk/slirp -c -o op.o /home/cdman/qemu/trunk/target-i386/op.c
> /home/cdman/qemu/trunk/target-i386/ops_sse.h: In function `op_pshufw_mmx':
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: unable to find a register to spill in class `GENERAL_REGS'
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: error: this is the insn:
> (insn:HI 18 17 19 0 /home/cdman/qemu/trunk/target-i386/ops_sse.h:592 (set (strict_low_part (subreg:HI (reg/v:DI 58 [ r ]) 0))
> (mem/s/j:HI (plus:SI (mult:SI (reg:SI 62)
> (const_int 2 [0x2]))
> (reg/v/f:SI 60 [ s ])) [0 <variable>._w S2 A16])) 54 {*movstricthi_1} (insn_list 16 (insn_list 12 (insn_list 50 (nil))))
> (expr_list:REG_DEAD (reg:SI 62)
> (nil)))
> /home/cdman/qemu/trunk/target-i386/ops_sse.h:597: confused by earlier errors, bailing out
> make[1]: *** [op.o] Error 1
> make[1]: Leaving directory `/home/cdman/qemu/trunk/i386-softmmu'
> make: *** [subdir-i386-softmmu] Error 2
>
> Is this related to the recent discussion about MMX/SSE instructions?
>
> Also, I have a weird behaviour with qemu-0.9.0 (I will test it against the SVN snapshot as soon as I can get it to compile :)). The behavior is related to hardware breakpoints. I use a Linux host and Windows XP guest and in the guest I use a user-mode debugger (Olly - http://ollydbg.de/) to debug a program. Software breakpoints work ok, but hardware breakpoints only work when I run __with__ kqemu (which is really weird, since the usual response for all the problems is "try it without kqemu" :)). Is this a known limitation or a bug? Should the code which sets the debug registers be augmented to flush the TB cache and the dyngen code changed to take into account the value of the debug registers (and raise an exception there)? But if this is the case, why does it work with kqemu enabled?
>
> Thank you in advance for your time spent answering my questions.
>
> Best regards.
The following patch should fix the compilation of op.c and helper.c.
This been tested on solaris x86 (32/64 bit) and Ubuntu 7.10 (32-bit). When
configuring on the 32-bit systems, I used --extra-cflags="-march=i686
-mtune=i686"
and both spill errors in op.c and helper.c are gone, and the binaries
will boot Milax (a Solaris based DamnSmallLinux clone)
Once the sse ops are converted to TCG, I imagine these hacks to the
Makefile.target file can be removed.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Makefile.target.diff --]
[-- Type: text/x-patch; name=Makefile.target.diff, Size: 1161 bytes --]
diff -ruN qemu.ORIG/Makefile.target qemu/Makefile.target
--- qemu.ORIG/Makefile.target 2008-05-04 10:42:56.000000000 -0400
+++ qemu/Makefile.target 2008-05-04 12:02:56.068374000 -0400
@@ -96,6 +96,7 @@
ifeq ($(ARCH),i386)
HELPER_CFLAGS+=-fomit-frame-pointer
OP_CFLAGS+=-mpreferred-stack-boundary=2 -fomit-frame-pointer
+MTUNE_CFLAGS=-march=i486 -mtune=i686
endif
ifeq ($(ARCH),ppc)
@@ -279,6 +280,12 @@
LIBOBJS+=s390-dis.o
endif
+ifeq ($(ARCH), i386)
+ HCFLAGS=`echo $(CFLAGS) | sed 's,-march=i686,,'`
+else
+ HCFLAGS=$(CFLAGS)
+endif
+
# libqemu
ifndef CONFIG_NO_DYNGEN_OP
@@ -309,7 +316,7 @@
$(DYNGEN) -g -o $@ $<
op.o: op.c
- $(CC) $(OP_CFLAGS) $(CPPFLAGS) -c -o $@ $<
+ $(CC) $(OP_CFLAGS) $(CPPFLAGS) $(MTUNE_CFLAGS) -c -o $@ $<
machine.o: machine.c
$(CC) $(OP_CFLAGS) $(CPPFLAGS) -c -o $@ $<
@@ -319,7 +326,7 @@
ifeq ($(TARGET_BASE_ARCH), i386)
# XXX: rename helper.c to op_helper.c
helper.o: helper.c
- $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ $(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(MTUNE_CFLAGS) $(HCFLAGS) -c -o $@ $<
else
op_helper.o: op_helper.c
$(CC) $(HELPER_CFLAGS) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-05-04 16:29 ` Ben Taylor
@ 2008-05-04 17:29 ` Brad Campbell
2008-05-04 17:31 ` Ben Taylor
0 siblings, 1 reply; 8+ messages in thread
From: Brad Campbell @ 2008-05-04 17:29 UTC (permalink / raw)
To: qemu-devel
Ben Taylor wrote:
> On Wed, Apr 23, 2008 at 8:34 AM, Balazs Attila-Mihaly (Cd-MaN)
> <x_at_y_or_z@yahoo.com> wrote:
>> Hello all.
>>
>> I fail to compile the version 4242 from the SVN (which I checked out ~1 hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure --target-list=i386-softmmu, I get the following error:
>>
<snip>
>
> The following patch should fix the compilation of op.c and helper.c.
>
> This been tested on solaris x86 (32/64 bit) and Ubuntu 7.10 (32-bit). When
> configuring on the 32-bit systems, I used --extra-cflags="-march=i686
> -mtune=i686"
> and both spill errors in op.c and helper.c are gone, and the binaries
> will boot Milax (a Solaris based DamnSmallLinux clone)
On ubuntu...
apt-get remove gcc-3.4
apt-get install gcc-3.3
.. effectively worked around the issue for me.
Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-05-04 17:29 ` Brad Campbell
@ 2008-05-04 17:31 ` Ben Taylor
2008-05-04 19:45 ` Aurelien Jarno
0 siblings, 1 reply; 8+ messages in thread
From: Ben Taylor @ 2008-05-04 17:31 UTC (permalink / raw)
To: qemu-devel
On Sun, May 4, 2008 at 1:29 PM, Brad Campbell <brad@wasp.net.au> wrote:
> Ben Taylor wrote:
>
> > On Wed, Apr 23, 2008 at 8:34 AM, Balazs Attila-Mihaly (Cd-MaN)
> > <x_at_y_or_z@yahoo.com> wrote:
> >
> > > Hello all.
> > >
> > > I fail to compile the version 4242 from the SVN (which I checked out ~1
> hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure
> --target-list=i386-softmmu, I get the following error:
> > >
> > >
> >
> <snip>
>
>
>
> >
> > The following patch should fix the compilation of op.c and helper.c.
> >
> > This been tested on solaris x86 (32/64 bit) and Ubuntu 7.10 (32-bit).
> When
> > configuring on the 32-bit systems, I used --extra-cflags="-march=i686
> > -mtune=i686"
> > and both spill errors in op.c and helper.c are gone, and the binaries
> > will boot Milax (a Solaris based DamnSmallLinux clone)
> >
>
> On ubuntu...
> apt-get remove gcc-3.4
> apt-get install gcc-3.3
> .. effectively worked around the issue for me.
Tried that, but one of the maintainers thought that was not a reasonable
solution.
I suppose I can modify the patch to check to see which gcc is being used
any invoke those changes if gcc revision < 3.4
Ben
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-05-04 17:31 ` Ben Taylor
@ 2008-05-04 19:45 ` Aurelien Jarno
2008-05-04 19:57 ` Ben Taylor
0 siblings, 1 reply; 8+ messages in thread
From: Aurelien Jarno @ 2008-05-04 19:45 UTC (permalink / raw)
To: qemu-devel
Ben Taylor a écrit :
> On Sun, May 4, 2008 at 1:29 PM, Brad Campbell <brad@wasp.net.au> wrote:
>> Ben Taylor wrote:
>>
>>> On Wed, Apr 23, 2008 at 8:34 AM, Balazs Attila-Mihaly (Cd-MaN)
>>> <x_at_y_or_z@yahoo.com> wrote:
>>>
>>>> Hello all.
>>>>
>>>> I fail to compile the version 4242 from the SVN (which I checked out ~1
>> hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure
>> --target-list=i386-softmmu, I get the following error:
>>>>
>> <snip>
>>
>>
>>
>>> The following patch should fix the compilation of op.c and helper.c.
>>>
>>> This been tested on solaris x86 (32/64 bit) and Ubuntu 7.10 (32-bit).
>> When
>>> configuring on the 32-bit systems, I used --extra-cflags="-march=i686
>>> -mtune=i686"
>>> and both spill errors in op.c and helper.c are gone, and the binaries
>>> will boot Milax (a Solaris based DamnSmallLinux clone)
>>>
>> On ubuntu...
>> apt-get remove gcc-3.4
>> apt-get install gcc-3.3
>> .. effectively worked around the issue for me.
>
> Tried that, but one of the maintainers thought that was not a reasonable
> solution.
I also think this is a reasonable solution. Hardcoding the use of
gcc-3.3 in the Makefile is not.
> I suppose I can modify the patch to check to see which gcc is being used
> any invoke those changes if gcc revision < 3.4
>
> Ben
>
>
>
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' aurel32@debian.org | aurelien@aurel32.net
`- people.debian.org/~aurel32 | www.aurel32.net
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] Compilation broken in SVN version and a debug register question
2008-05-04 19:45 ` Aurelien Jarno
@ 2008-05-04 19:57 ` Ben Taylor
0 siblings, 0 replies; 8+ messages in thread
From: Ben Taylor @ 2008-05-04 19:57 UTC (permalink / raw)
To: qemu-devel
On Sun, May 4, 2008 at 3:45 PM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> Ben Taylor a écrit :
>
> > On Sun, May 4, 2008 at 1:29 PM, Brad Campbell <brad@wasp.net.au> wrote:
> >> Ben Taylor wrote:
> >>
> >>> On Wed, Apr 23, 2008 at 8:34 AM, Balazs Attila-Mihaly (Cd-MaN)
> >>> <x_at_y_or_z@yahoo.com> wrote:
> >>>
> >>>> Hello all.
> >>>>
> >>>> I fail to compile the version 4242 from the SVN (which I checked out ~1
> >> hour ago). On an Ubuntu 7.10 host with gcc-3.4 and ./configure
> >> --target-list=i386-softmmu, I get the following error:
> >>>>
> >> <snip>
> >>
> >>
> >>
> >>> The following patch should fix the compilation of op.c and helper.c.
> >>>
> >>> This been tested on solaris x86 (32/64 bit) and Ubuntu 7.10 (32-bit).
> >> When
> >>> configuring on the 32-bit systems, I used --extra-cflags="-march=i686
> >>> -mtune=i686"
> >>> and both spill errors in op.c and helper.c are gone, and the binaries
> >>> will boot Milax (a Solaris based DamnSmallLinux clone)
> >>>
> >> On ubuntu...
> >> apt-get remove gcc-3.4
> >> apt-get install gcc-3.3
> >> .. effectively worked around the issue for me.
> >
> > Tried that, but one of the maintainers thought that was not a reasonable
> > solution.
>
> I also think this is a reasonable solution. Hardcoding the use of
> gcc-3.3 in the Makefile is not.
>
>
>
> > I suppose I can modify the patch to check to see which gcc is being used
> > any invoke those changes if gcc revision < 3.4
I have another patch in to works that checks the gcc3 revision and appropriately
applies the flags. As it turns out, -march and -mtune are not recognized by
gcc-3.3 anyway, so it'll be a better solution. If I can figure out why it's not
working on Solaris and not Ubuntu, I'll submit.
Ben
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-05-04 19:57 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-23 12:34 [Qemu-devel] Compilation broken in SVN version and a debug register question Balazs Attila-Mihaly (Cd-MaN)
2008-04-23 17:09 ` Blue Swirl
2008-05-04 16:29 ` Ben Taylor
2008-05-04 17:29 ` Brad Campbell
2008-05-04 17:31 ` Ben Taylor
2008-05-04 19:45 ` Aurelien Jarno
2008-05-04 19:57 ` Ben Taylor
-- strict thread matches above, loose matches on Subject: below --
2008-04-24 5:19 Balazs Attila-Mihaly (Cd-MaN)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).