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

Re: gcc -mips2 support on indy



Chris Plummer wrote:
> 
> 
> Thiemo Seufer wrote:
> > 
> > Chris Plummer wrote:
> > [snip]
> > >   indy-01$ cc test.c -mips2
> > >   indy-01$ ./a.out
> > >     bash: ./a.out: No such file or directory
> > 
> > What happens with -static?
> > 
> This fixes the problem. I'm not sure why.

It only circumvents it. The dynamic loader was a bit fishy, and probably
still is for litte-tested corner cases.

> > [snip]
> > > The reason I'm using -mips2 is because there is a bug in gcc that causes
> > > it to fail to compile a very large (>32k) function I have. It produces
> > > forward branches to targets that are out of range. Using -mips2 fixes
> > > this problem.
> > 
> > Older compilers (like the one in woody) take -mips2 as a hint to generate
> > o32 code. Newer ones use -mips2 as an alias for -arch=r6000 and rely on
> > the -mabi switch for ABI selection.
> > 
> I don't see the relationship between out-of-range forward branches and
> the ABI. They should be independent.

The compiler should never generate out-of-range branches, but it did under
some circumstances, ABI-dependently. IIRC this is fixed upstreams
since gcc 3.3.


Thiemo



Reply to: