[Fwd: Re: gcc 3.x breaks ABI compatibility? [Was: Re: Bug 00314 -- div() still broken]]
Here is something I still have on my machine about this problem -------- Original Message -------- Subject: Re: gcc 3.x breaks ABI compatibility? [Was: Re: Bug 00314 -- div() still broken] Date: Tue, 29 Apr 2003 08:44:45 +0100 From: Richard Dawe <rich@phekda.freeserve.co.uk> Reply-To: djgpp-workers@delorie.com To: Andris Pavenis <pavenis@latnet.lv> CC: djgpp-workers@delorie.com, Ben Peddell <killer.lightspeed@bigpond.com>,rudd@cyberoptics.com References: <3e9c6920$0$21928$afc38c87@> <lzLqa.23283$1s1.356122@newsfeeds.bigpond.com> <3EABA5AA.99B8EDE3@phekda.freeserve.co.uk> <200304280954.02899.pavenis@latnet.lv> Hello. Andris Pavenis wrote:
On Sunday 27 April 2003 12:40, Richard Dawe wrote:
[snip]
I've just looked at the gcc 2.95.2 sources and it looks like -fpcc-struct-return (i.e.: use memory) is the default there.
The gcc 3.2.2 source seems to default to using registers. See the end gcc/config/i386/djgpp.h:
/* Don't default to pcc-struct-return, because gcc is the only compiler, and we want to retain compatibility with older gcc versions. */ #define DEFAULT_PCC_STRUCT_RETURN 0
Why is this defined? I couldn't see a ChangeLog entry for djgpp.h. AFAICT this breaks backwards compatibility, i.e.: the opposite of what the comment says. Is there something I'm missing?
I copied it from other i386 targets. GCC-3.2.2 didn't compile without defining DEFAULT_PCC_STRUCT_RETURN, as there is no default
Not all i386 targets define DEFAULT_PCC_STRUCT_RETURN to be 0. Linux and NetBSD ELF don't. I think we need to use the same as the default for 2.95.x, i.e.: #define DEFAULT_PCC_STRUCT_RETURN 1 This is a pretty critical bug. Do you have any plans to rebuild gcc 3.2.2 (or 3.2.3) with this fix? Thanks, bye, Rich =] -- Richard Dawe [ http://www.phekda.freeserve.co.uk/richdawe/ ]
CBFalconer wrote:
Here is something I still have on my machine about this problem
As the subjects says, this seems to be only an ABI compatibility issue which would arise when linking files created with different GCC[-based GPC] versions. Frank -- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: 51FF C1F0 1A77 C6C2 4482 4DDC 117A 9773 7F88 1707
participants (2)
-
CBFalconer -
Frank Heckenbach