[m-dev.] Building Mercury in i386
Paul Bone
pbone at csse.unimelb.edu.au
Fri Jul 1 01:39:58 AEST 2011
On Fri, Jul 01, 2011 at 01:12:08AM +1000, Julien Fischer wrote:
>
> Hi Paul,
>
> On Fri, 1 Jul 2011, Paul Bone wrote:
>
> >
> >Hi Guys.
> >
> >Has anyone built Mercury on i386 lately. I'm building on an i386 Debian squeeze system.. I get this:
> >
> >../scripts/mgnuc --grade asm_fast.gc -- -c ml_backend.ml_closure_gen.c -o ml_backend.ml_closure_gen.o
> >ml_backend.ml_closure_gen.c: In function 'ml_backend__ml_closure_gen_module11':
> >ml_backend.ml_closure_gen.c:2985: error: unable to find a register to spill in class 'DIREG'
> >ml_backend.ml_closure_gen.c:2985: error: this is the insn:
> >(insn 123 122 124 11 ml_backend.ml_closure_gen.c:2860 (parallel [
> > (set (mem:SI (reg/f:SI 136) [0 S4 A32])
> > (reg/v:SI 1 dx [orig:80 MR_tempr3 ] [80]))
> > (set (reg/v:SI 82 [ MR_tempr1 ])
> > (plus:SI (reg/f:SI 136)
> > (const_int 4 [0x4])))
> > ]) 852 {*strsetsi_1} (expr_list:REG_DEAD (reg/f:SI 136)
> > (nil)))
> >ml_backend.ml_closure_gen.c:2985: confused by earlier errors, bailing out
> >Preprocessed source stored into /tmp/cckqSgyE.out file, please attach this to your bugreport.
> >
> >This is ROTD 2011-06-23, I'm using gcc (Debian 4.4.5-8) 4.4.5
>
> Yes, Sebastian bumped into it the other day. (Probably, some GCC
> optimization is not playing nicely with the global registers extension,
> you may be able to work around it by tweaking the C compiler flags --
> this tends to be a problem on i386 because there aren't many registers
> available in the first place.)
Pretty much what I was thinking.
> >This is probably relevent for the release.
>
> Yes, we will need identify the versions of GCC that exhibit this problem
> and find workarounds for it.
Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/developers/attachments/20110701/43c6989c/attachment.sig>
More information about the developers
mailing list