[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sparc buildd a cross-compiler?



On Sat, Dec 22, 2001 at 02:07:41PM -0500, Ben Collins wrote:
> On Sat, Dec 22, 2001 at 06:54:10PM +0000, Philip Blundell wrote:
> > G++ 2.95 is pretty broken in its own right.  Just because it won't compile
> > something doesn't necessarily mean that the source is at fault.  I wouldn't 
> > regard it as unreasonable for C++ programs to require 3.0 these days.
> 
> I don't think it is unreasonable in Debian to require that programs work
> with the default toolset available for the arch. Most of the archs do
> not use gcc-3.0 as the default. Keeping one toolchain in shape to
> compile the entire dist is enough work without having to require archs
> to maintain two stable toolchains.
> 
> That said, there are two issues:
> 
> 1) Currently on archs that use gcc-2.95 as the default, using gcc-3.0
> and especially g++-3.0 is not supported by libc6. The backward
> compatibility is not what it should be, and wont be until glibc 2.2.5.
> So using it now only means you potentially leave your app open to
> breakage later on.

Some programs will NOT compile with pre-3.0 gcc/g++. Take the jscalibrator [I'm just updating it]. It will not 
compile unless there are major changes done in the source and sorry, but I don't know where to start with this 
compiler problem:

jcdraw.c: In function `JCDrawAxisesRepresentative':
jcdraw.c:339: Internal compiler error:
jcdraw.c:339: Unable to generate reloads for:
(insn 805 803 808 (parallel[ 
            (set (reg/v:SI 6 %ebp)
                (fix:SI (fix:SF (reg/v:SF 33))))
            (clobber (mem:HI (plus:SI (reg:SI 6 %ebp)
                        (const_int -10 [0xfffffff6])) 0))
            (clobber (mem:HI (plus:SI (reg:SI 6 %ebp)
                        (const_int -12 [0xfffffff4])) 0))
            (clobber (mem:SI (plus:SI (reg:SI 6 %ebp)
                        (const_int -8 [0xfffffff8])) 0))
            (clobber (scratch:HI))
        ] ) 145 {fix_truncsfsi2+1} (insn_list 803 (nil))
    (expr_list:REG_DEAD (reg/v:SF 33)
        (expr_list:REG_UNUSED (scratch:HI)
            (nil))))
make: *** [jcdraw.o] Error 1


If you have a suggestion of what is wrong, please, tell me and I'll make jscalibrator work with 2.95 :) Until 
then or until gcc >=3 gets into arch, some packages will simply not compile. IMHO, we should get the 3.x series 
of compiler into arch (in sid) sometime in the next 6 mo or so [after woody gets to stable].

- Adam



Reply to: