Richard Sandiford <rdsandif...@googlemail.com> writes:

>> ** I also consider obsoleting support for the O32 ABI: the SGI linker used
>>    is different from the N32/N64 ld, and has repeatedly caused problems
>>    which couldn't be resolved even when SGI still had full IRIX
>>    support.  Also, the ISO C99 support in libc is only available for the
>>    N32 and N64 ABIs.
>
> Yeah, that's a difficult one.  On the one hand, I can see that it
> doesn't make sense to support an ABI that was there for compatibility
> with IRIX 5 and earlier (which we're declaring obselete).  On the other,
> I think o32 worked better with the GNU linker than it did with the
> SGI linker.  E.g. I remember hitting GOT overflow problems with the
> SGI o32 linker (which didn't support multiple GOTs) that were solved
> by using the GNU linker.

Indeed: although I was in direct contact with SGI's Dave Anderson about
this issue, we couldn't find a resolution back then, and the linker guys
were too busy to investigate themselves.  I haven't tried GNU ld on IRIX
in quite some time, though, but am often wary to use in rather than the
vendor ld since sometimes one loses features not supported by GNU ld, or
GNU ld produces binaries the vendor rld/ld.so cannot handle.

> But that was a long time ago (binutils 2.15?) and I don't know how
> well it works now.  And I still can't see any reason why IRIX 6.5
> users would prefer o32 over n32.  I certainly don't object to
> removing o32 support from the IRIX port.

I had this problem with binutils 2.17 and linking the o32
libgfortran.so, but they vanished with binutils 2.20.  Given the
standards compliance problems with the o32 libc and the increase in
testing time with 3 ABIs, I'm inclined to go along with the removal.
I'll investigate how best to do it: perhaps just removing it from
t-iris6 (MULTILIB_*) is enough.

Thanks.
        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to