This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)
- From: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>, gcc-bugs at gcc dot gnu dot org, gcc at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, oldham at codesourcery dot com
- Date: Mon, 16 Dec 2002 18:46:58 +0100 (MET)
- Subject: Re: Irix6 long doubles implemented wrong? (27_io/ostream_inserter_arith)
- References: <200212142145.QAA25890@caip.rutgers.edu><or8yypualb.fsf@free.redhat.lsd.ic.unicamp.br>
Alexandre Oliva writes:
> I've been working on a patch that will enable us to switch to 128-bit
> long doubles on mips n32 and n64, but I still need a little bit of
> polishing and checking (I know that my current patch still doesn't
> pass long double arguments in the right registers). I expect to have
> it finished in the next few days.
Great.
> That said, I'm not sure it would be wise to break the gcc ABI on IRIX
> 6 by introducing this change. It's not like long double is the most
> widely used type, but still, I'm a bit concerned about changing it.
> Opinions?
On the contrary: we shouldn't introduce a GCC ABI (which is especially
useless since it doesn't interoperate with libc as is the case with 64-bit
long double), but try to implement the vendor ABI correctly. I think the
same is true for the major other ABI non-conformance on IRIX, namely
passing of small structures (where Jim Wilson is working on a fix, as I
understand). This has caused so many people trouble and required
platform-specific work-arounds in so many packages that we should get this
right once and for all, even if this means non-interoperability with the
older (broken) GCC implementation.
Rainer