public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* egcs and altivec vector type
@ 1999-09-20 11:20 David Young
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
                   ` (2 more replies)
  0 siblings, 3 replies; 46+ messages in thread
From: David Young @ 1999-09-20 11:20 UTC (permalink / raw)
  To: gcc

Does egcs correctly generate code for the altivec vector and pixel types?
What is the status of this feature?
Is there a URL explaining the status or plan of this feature for egcs?

Your input is much appreciated!

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 11:20 egcs and altivec vector type David Young
@ 1999-09-20 14:10 ` Doug Landauer
  1999-09-20 14:17   ` Alex Buell
                     ` (2 more replies)
  1999-09-21 10:10 ` egcs and altivec vector type David Edelsohn
  1999-09-30 18:02 ` David Young
  2 siblings, 3 replies; 46+ messages in thread
From: Doug Landauer @ 1999-09-20 14:10 UTC (permalink / raw)
  To: gcc

The GCC 2.95 Caveats page (< http://egcs.cygnus.com/gcc-2.95/caveats.html >)
says
>
>  GCC 2.95 compiled C++ code is not binary compatible
>    with EGCS 1.1, EGCS 1.0.x or GCC 2.8.x.

Is there a more detailed description of what the known
incompatibilities are, and/or what C++ features might
trigger them, and/or whether there is a subset of C++ that
one might reasonably expect to work compatibly, say from
egcs 1.1 to gcc 2.95?


And is there anything describing likely C++ ABI changes in
near-future releases (2.9x for x > 5; and/or 3.0)?


  Thanks,
   -- Doug Landauer


^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
@ 1999-09-20 14:17   ` Alex Buell
  1999-09-20 15:04     ` Martin v. Loewis
  1999-09-30 18:02     ` Alex Buell
  1999-09-20 15:23   ` Martin v. Loewis
  1999-09-30 18:02   ` Doug Landauer
  2 siblings, 2 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-20 14:17 UTC (permalink / raw)
  To: Doug Landauer; +Cc: gcc

On Mon, 20 Sep 1999, Doug Landauer wrote:

> Is there a more detailed description of what the known
> incompatibilities are, and/or what C++ features might trigger them,
> and/or whether there is a subset of C++ that one might reasonably
> expect to work compatibly, say from egcs 1.1 to gcc 2.95?

I ran into this problem with my Linux system. As most of the libraries had
been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
gcc-2.95.1, everything went to hell. :o( 

Solution was to recompile nearly everything. Fortunately, I've got ~600MB
sources on a CD so it was just a matter of rebuilding all the critical
libraries, and then fixing the rest as I find them. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 14:17   ` Alex Buell
@ 1999-09-20 15:04     ` Martin v. Loewis
  1999-09-20 15:16       ` Alex Buell
  1999-09-30 18:02       ` Martin v. Loewis
  1999-09-30 18:02     ` Alex Buell
  1 sibling, 2 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-20 15:04 UTC (permalink / raw)
  To: alex.buell; +Cc: landauer, gcc

> I ran into this problem with my Linux system. As most of the libraries had
> been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
> gcc-2.95.1, everything went to hell. :o( 

Could you qualify in more detail what exactly stopped working, and
perhaps even why?

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:04     ` Martin v. Loewis
@ 1999-09-20 15:16       ` Alex Buell
  1999-09-20 15:46         ` Martin v. Loewis
  1999-09-30 18:02         ` Alex Buell
  1999-09-30 18:02       ` Martin v. Loewis
  1 sibling, 2 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-20 15:16 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: gcc

On Mon, 20 Sep 1999, Martin v. Loewis wrote:

> > I ran into this problem with my Linux system. As most of the libraries had
> > been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
> > gcc-2.95.1, everything went to hell. :o( 
> 
> Could you qualify in more detail what exactly stopped working, and
> perhaps even why?

It's a long story but if you're prepared to read on, then do so by all
means.

A while back I had LessTif 0.88.9 compiled and installed using
egcs-1.1.2. Soon after, I decided to install gcc-2.95.1 on the system,
LessTif 0.89.0 came out soon afterwards and I compiled and installed it. 

It was at that point that things took a strange turn, I noticed that some
of my Motif applications that were built using egcs-1.1.2 would exhibit
very strange behaviour (i.e coredumped at a particular place every time).
I thought I'd recompile the Motif applications but they still coredumped.
I also noticed that my favourite debugger (DDD - a motif-based debugger)
was crashing on start-up, figured out that the new binaries and the
LessTif libraries were in fact blowing up everytime they tried to make
calls into the X11R6 libraries (which had been compiled with egcs 4 months
ago!). I took X11 down and recompiled it all (taking the opportunity to
upgrade to 3.3.5 from 3.3.3 along the way), reinstalled. 

Bingo. That solved the coredump problems. 

I was told by someone else on the gcc mailing list that it was because
gcc-2.95.1 and the egcs range (1.0.3 -> 1.1.2) have different binary
conventions. Fun. 

Now when I come across an application that's acting strangely, I recompile
that and its associated libraries. That usually cures the problem. 

Unfortunately there's worse to come (not that I'm blaming the gcc people
for this, the kernel people should have known better than to use invalid
asm constructs!), don't think about compiling kernels with gcc-2.95.1
until the asm constructs are fixed, that will happen for 2.2.13. In fact
I've had several crashes already in the last two days. I just hope 2.2.13
will come out soon. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
  1999-09-20 14:17   ` Alex Buell
@ 1999-09-20 15:23   ` Martin v. Loewis
  1999-09-24 13:10     ` Gerald Pfeifer
  1999-09-30 18:02     ` Martin v. Loewis
  1999-09-30 18:02   ` Doug Landauer
  2 siblings, 2 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-20 15:23 UTC (permalink / raw)
  To: landauer; +Cc: gcc

> Is there a more detailed description of what the known
> incompatibilities are, and/or what C++ features might
> trigger them, and/or whether there is a subset of C++ that
> one might reasonably expect to work compatibly, say from
> egcs 1.1 to gcc 2.95?

I started collecting such information, but I don't know whether my
list is complete. If anybody has additions, please let me know:

- STL was updated. In particular, the Allocator implementation was
  replaced, and renamed. As a result, all mangled names mentioning
  an allocator (i.e. more or less *all* instantiations of standard
  templates) are binary-incompatible with egcs 1.1. As STL continues
  to evolve in a binary-incompatible manner, such changes are likely
  in the future.
  A number of other STL classes changed as well. I stopped writing
  down the changes when I noticed the allocator thing; feel free to
  diff between 1.1 STL and 2.95 STL if you need more details.
- __start_cp_handler was introduced as part of libgcc, and the EH
  machinery. The old (i.e. 1.1) functions remain present, and it
  is ok to mix them with __start_cp_handler. It only means that you
  cannot link 2.95 object files with the 1.1 libgcc.a

Anything else should be compatible. As I said, I may be missing
things. Since people will continue to ask this question: If anybody
knows of any other incompatibility, *please* let me know.

As for compatibility with even older versions (egcs 1.0, gcc 2.8):
Forget it. I have no complete list, but the changes to make EH
thread-safe should break a large number of binaries; I believe STL was
updated between 1.0 and 1.1, as well.

> And is there anything describing likely C++ ABI changes in
> near-future releases (2.9x for x > 5; and/or 3.0)?

Well, it is very easy to find out what *currently* comprises the ABI
changes in gcc 2.96, under the -fnew-abi flag; see cp/decl2.c for a
details:
- The squangling mechanism will break link compatibility.
- honor-std breaks that as well, at least for std library things
  (primarily iostreams and STL)
- vtable-thunks are enabled on all platforms (under new ABI), with
  an important fix still missing (but coming up)
- the new ABI itself currently does the empty bases optimization,
  but different people have different ideas what else it could or
  should do.

If the above counts as "anything", I guess I'm done. It is difficult
to tell what changes exactly will be in the next compiler, especially
as I did not mention libstdc++ v3 so far. If we get that, about every
program using the std library will binary-break.

So it is a safe bet that one of the upcoming releases will be totally
incompatible with anything you are compiling right now. Exactly *when*
this will happen is open at this time; different people have different
views :-)

Hope this helps,
Martin

P.S. I didn't include any sales talk about how great the future will
be, and how important it is to give the new features to the users, and
that users should either accept that as a fact of life, or continue
with the compiler they got. I hope you'll understand all this, anyway,
and that I'm speaking for myself, not as a representative of somebody
or something.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:16       ` Alex Buell
@ 1999-09-20 15:46         ` Martin v. Loewis
  1999-09-20 17:34           ` Alexandre Oliva
                             ` (2 more replies)
  1999-09-30 18:02         ` Alex Buell
  1 sibling, 3 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-20 15:46 UTC (permalink / raw)
  To: alex.buell; +Cc: gcc

> A while back I had LessTif 0.88.9 compiled and installed using
> egcs-1.1.2. ...
> I also noticed that my favourite debugger (DDD - a motif-based debugger)
> was crashing on start-up...
> I took X11 down and recompiled it all...
[...]
> I was told by someone else on the gcc mailing list that it was because
> gcc-2.95.1 and the egcs range (1.0.3 -> 1.1.2) have different binary
> conventions. Fun. 

These are all C applications, right? (at least X11, and Lesstif are -
not sure about DDD). There has been absolutely *no* change in the
binary convention for the C language (somebody correct me if I'm
wrong), so recompiling X11 would definitely not have the effect of
fixing ABI problems.

Perhaps I'm missing something, but it seems to me that your problems
must have been caused by something else (like a codegen bug that would
only show up in certain cases, and fixed by recompiling the libraries,
or a corruption of the library image on disk, fixed again by producing
a new image).

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:46         ` Martin v. Loewis
@ 1999-09-20 17:34           ` Alexandre Oliva
  1999-09-21  0:00             ` Alex Buell
  1999-09-30 18:02             ` Alexandre Oliva
  1999-09-21  1:26           ` Wolfram Gloger
  1999-09-30 18:02           ` Martin v. Loewis
  2 siblings, 2 replies; 46+ messages in thread
From: Alexandre Oliva @ 1999-09-20 17:34 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: alex.buell, gcc

On Sep 20, 1999, "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> wrote:

> These are all C applications, right? (at least X11, and Lesstif are -
> not sure about DDD)

Both lesstif and DDD make heavy use of C++.

-- 
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
oliva@{lsd.ic.unicamp.br,guarana.{org,com}} aoliva@{acm,computer}.org
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
** I may forward mail about projects to mailing lists; please use them

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 17:34           ` Alexandre Oliva
@ 1999-09-21  0:00             ` Alex Buell
  1999-09-30 18:02               ` Alex Buell
  1999-09-30 18:02             ` Alexandre Oliva
  1 sibling, 1 reply; 46+ messages in thread
From: Alex Buell @ 1999-09-21  0:00 UTC (permalink / raw)
  To: Alexandre Oliva; +Cc: gcc

On 20 Sep 1999, Alexandre Oliva wrote:

> On Sep 20, 1999, "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> wrote:
> 
> > These are all C applications, right? (at least X11, and Lesstif are -
> > not sure about DDD)
> 
> Both lesstif and DDD make heavy use of C++.

I recompiled LessTif and DDD, and it still coredumped in places.
Recompiling the X11 (heavily C based) libraries and programs cured the
problems. That's why I'm puzzled!

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:46         ` Martin v. Loewis
  1999-09-20 17:34           ` Alexandre Oliva
@ 1999-09-21  1:26           ` Wolfram Gloger
  1999-09-21 12:16             ` Alex Buell
  1999-09-30 18:02             ` Wolfram Gloger
  1999-09-30 18:02           ` Martin v. Loewis
  2 siblings, 2 replies; 46+ messages in thread
From: Wolfram Gloger @ 1999-09-21  1:26 UTC (permalink / raw)
  To: gcc

> Perhaps I'm missing something, but it seems to me that your problems
> must have been caused by something else (like a codegen bug that would
> only show up in certain cases, and fixed by recompiling the libraries,
> or a corruption of the library image on disk, fixed again by producing
> a new image).

I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
problems.  I, too, had to recompile my X11 libraries (not any C
applications though) when I made that upgrade.  It's mentioned in
glibc's release notes, I believe.

I see no evidence that there are any backwards compatibility problems
with `pure' C code due to gcc upgrades.

Regards,
Wolfram.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-20 11:20 egcs and altivec vector type David Young
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
@ 1999-09-21 10:10 ` David Edelsohn
  1999-09-22  7:09   ` David Young
  1999-09-30 18:02   ` David Edelsohn
  1999-09-30 18:02 ` David Young
  2 siblings, 2 replies; 46+ messages in thread
From: David Edelsohn @ 1999-09-21 10:10 UTC (permalink / raw)
  To: dyoung; +Cc: gcc

>>>>> David Young writes:

David> Does egcs correctly generate code for the altivec vector and pixel types?
David> What is the status of this feature?
David> Is there a URL explaining the status or plan of this feature for egcs?

	Apple apparently has a version of egcs-1.1.2 with AltiVec
functionality added available from an Apple website.  I have not received
any contact from Apple about a timetable for contributing that work back
to GCC.  Hopefully all of Apple's changes eventually will be incorporated
into the GCC public sources so that they do not need to maintain a
divergent branch and can utilize GCC development more rapidly.

David

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-21  1:26           ` Wolfram Gloger
@ 1999-09-21 12:16             ` Alex Buell
  1999-09-22  1:09               ` Wolfram Gloger
  1999-09-30 18:02               ` Alex Buell
  1999-09-30 18:02             ` Wolfram Gloger
  1 sibling, 2 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-21 12:16 UTC (permalink / raw)
  To: Wolfram Gloger; +Cc: gcc

On 21 Sep 1999, Wolfram Gloger wrote:

> I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
> problems.  I, too, had to recompile my X11 libraries (not any C
> applications though) when I made that upgrade.  It's mentioned in
> glibc's release notes, I believe.

Been there, done that. Everything worked 100% prior to installing
gcc-2.95.1.
 
> I see no evidence that there are any backwards compatibility problems
> with `pure' C code due to gcc upgrades.

And the evidence is right here, rebuilding cured my problems. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-21 12:16             ` Alex Buell
@ 1999-09-22  1:09               ` Wolfram Gloger
  1999-09-22 15:29                 ` Alex Buell
  1999-09-30 18:02                 ` Wolfram Gloger
  1999-09-30 18:02               ` Alex Buell
  1 sibling, 2 replies; 46+ messages in thread
From: Wolfram Gloger @ 1999-09-22  1:09 UTC (permalink / raw)
  To: alex.buell; +Cc: gcc

> On 21 Sep 1999, Wolfram Gloger wrote:
> 
> > I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
> > problems.  I, too, had to recompile my X11 libraries (not any C
> > applications though) when I made that upgrade.  It's mentioned in
> > glibc's release notes, I believe.
> 
> Been there, done that. Everything worked 100% prior to installing
> gcc-2.95.1.

I should have been more clear: The fact that the X11 libs had been
compiled against glibc-2.0 caused the compatibility problem.  Surely
this was the case for you too ?  These problems were subtle, it was
quite hard to notice them at all (I noticed only several months after
installing glibc-2.1).

> > I see no evidence that there are any backwards compatibility problems
> > with `pure' C code due to gcc upgrades.
> 
> And the evidence is right here, rebuilding cured my problems. 

Yes, rebuilding the X11 libraries against glibc-2.1 cured the
problems.  This sure looks like a change in glibc to me (as mentioned
in its release notes).  You could probably verify this by once again
recompiling X11 using an older compiler (this I would predict to
continue working) _or_ against glibc-2.0 (this I would predict to
fail).

Regards,
Wolfram.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-21 10:10 ` egcs and altivec vector type David Edelsohn
@ 1999-09-22  7:09   ` David Young
  1999-09-22  7:14     ` Gerald Pfeifer
  1999-09-30 18:02     ` David Young
  1999-09-30 18:02   ` David Edelsohn
  1 sibling, 2 replies; 46+ messages in thread
From: David Young @ 1999-09-22  7:09 UTC (permalink / raw)
  To: David Edelsohn; +Cc: gcc

David,

> I have not received
> any contact from Apple about a timetable for contributing that work back
> to GCC.  Hopefully all of Apple's changes eventually will be incorporated
> into the GCC public sources

Thank you for your information. I am aware of Apple's version, but we want  
the mainlined (GCC public sources) version with altivec code when available,  
if ever. How can I become informed when it is mainlined, going to be  
mainlined, or is being worked on (has been submitted by Apple)? Is there a  
URL for that or anyone that maintains that information?

Again, thanks for the excellent egcs!

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-22  7:09   ` David Young
@ 1999-09-22  7:14     ` Gerald Pfeifer
  1999-09-30 18:02       ` Gerald Pfeifer
  1999-09-30 18:02     ` David Young
  1 sibling, 1 reply; 46+ messages in thread
From: Gerald Pfeifer @ 1999-09-22  7:14 UTC (permalink / raw)
  To: David Young; +Cc: David Edelsohn, gcc

On Wed, 22 Sep 1999, David Young wrote:
> How can I become informed when it is mainlined, going to be mainlined,
> or is being worked on (has been submitted by Apple)? Is there a URL
> for that or anyone that maintains that information?

If/when this is added to GCC (CVS sources) there will be an announcement
at the URL http://gcc.gnu.org . We always announce such stuff there...

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-22  1:09               ` Wolfram Gloger
@ 1999-09-22 15:29                 ` Alex Buell
  1999-09-30 18:02                   ` Alex Buell
  1999-09-30 18:02                 ` Wolfram Gloger
  1 sibling, 1 reply; 46+ messages in thread
From: Alex Buell @ 1999-09-22 15:29 UTC (permalink / raw)
  To: Wolfram Gloger; +Cc: gcc

On 22 Sep 1999, Wolfram Gloger wrote:

> I should have been more clear: The fact that the X11 libs had been
> compiled against glibc-2.0 caused the compatibility problem.  Surely
> this was the case for you too ?  These problems were subtle, it was
> quite hard to notice them at all (I noticed only several months after
> installing glibc-2.1).

No, the X11 libraries had been compiled against glibc-2.1 a few months
ago. I did say everything worked perfectly before I used gcc-2.95.1 in
anger. Only my Motif applications started going bananas after I built &
installed LessTif. So there is evidence of a problem with gcc-2.95.1,
which went away when I recompiled most of the critical libraries. I'm sure
there's a few libraries hiding waiting to bite me on my arse. 

That doesn't really matter anyhow as everything seems to work just fine
(apart from a power cut a few hours ago) :-S

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:23   ` Martin v. Loewis
@ 1999-09-24 13:10     ` Gerald Pfeifer
  1999-09-30 18:02       ` Gerald Pfeifer
  1999-10-08 10:36       ` Martin v. Loewis
  1999-09-30 18:02     ` Martin v. Loewis
  1 sibling, 2 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-09-24 13:10 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: landauer, gcc

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

On Tue, 21 Sep 1999, Martin v. Loewis wrote:
>> Is there a more detailed description of what the known
>> incompatibilities are, and/or what C++ features might
>> trigger them, and/or whether there is a subset of C++ that
>> one might reasonably expect to work compatibly, say from
>> egcs 1.1 to gcc 2.95?
> I started collecting such information, but I don't know whether my
> list is complete. If anybody has additions, please let me know:

Hi Martin,

I guess upon reading the Subject: and From: headers of this mail you
is already schwaning Ãœbles, right? (Sorry for the Germanism ;-) )

Wouldn't this make a great addition to our documentation on the web?

I am not yet completely sure where exactly to put that, but would you
be willing to contribute something in that direction?

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-21  1:26           ` Wolfram Gloger
  1999-09-21 12:16             ` Alex Buell
@ 1999-09-30 18:02             ` Wolfram Gloger
  1 sibling, 0 replies; 46+ messages in thread
From: Wolfram Gloger @ 1999-09-30 18:02 UTC (permalink / raw)
  To: gcc

> Perhaps I'm missing something, but it seems to me that your problems
> must have been caused by something else (like a codegen bug that would
> only show up in certain cases, and fixed by recompiling the libraries,
> or a corruption of the library image on disk, fixed again by producing
> a new image).

I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
problems.  I, too, had to recompile my X11 libraries (not any C
applications though) when I made that upgrade.  It's mentioned in
glibc's release notes, I believe.

I see no evidence that there are any backwards compatibility problems
with `pure' C code due to gcc upgrades.

Regards,
Wolfram.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-21  0:00             ` Alex Buell
@ 1999-09-30 18:02               ` Alex Buell
  0 siblings, 0 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Alexandre Oliva; +Cc: gcc

On 20 Sep 1999, Alexandre Oliva wrote:

> On Sep 20, 1999, "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> wrote:
> 
> > These are all C applications, right? (at least X11, and Lesstif are -
> > not sure about DDD)
> 
> Both lesstif and DDD make heavy use of C++.

I recompiled LessTif and DDD, and it still coredumped in places.
Recompiling the X11 (heavily C based) libraries and programs cured the
problems. That's why I'm puzzled!

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-22 15:29                 ` Alex Buell
@ 1999-09-30 18:02                   ` Alex Buell
  0 siblings, 0 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Wolfram Gloger; +Cc: gcc

On 22 Sep 1999, Wolfram Gloger wrote:

> I should have been more clear: The fact that the X11 libs had been
> compiled against glibc-2.0 caused the compatibility problem.  Surely
> this was the case for you too ?  These problems were subtle, it was
> quite hard to notice them at all (I noticed only several months after
> installing glibc-2.1).

No, the X11 libraries had been compiled against glibc-2.1 a few months
ago. I did say everything worked perfectly before I used gcc-2.95.1 in
anger. Only my Motif applications started going bananas after I built &
installed LessTif. So there is evidence of a problem with gcc-2.95.1,
which went away when I recompiled most of the critical libraries. I'm sure
there's a few libraries hiding waiting to bite me on my arse. 

That doesn't really matter anyhow as everything seems to work just fine
(apart from a power cut a few hours ago) :-S

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 17:34           ` Alexandre Oliva
  1999-09-21  0:00             ` Alex Buell
@ 1999-09-30 18:02             ` Alexandre Oliva
  1 sibling, 0 replies; 46+ messages in thread
From: Alexandre Oliva @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: alex.buell, gcc

On Sep 20, 1999, "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> wrote:

> These are all C applications, right? (at least X11, and Lesstif are -
> not sure about DDD)

Both lesstif and DDD make heavy use of C++.

-- 
Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Bra[sz]il
oliva@{lsd.ic.unicamp.br,guarana.{org,com}} aoliva@{acm,computer}.org
oliva@{gnu.org,kaffe.org,{egcs,sourceware}.cygnus.com,samba.org}
** I may forward mail about projects to mailing lists; please use them

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-21 10:10 ` egcs and altivec vector type David Edelsohn
  1999-09-22  7:09   ` David Young
@ 1999-09-30 18:02   ` David Edelsohn
  1 sibling, 0 replies; 46+ messages in thread
From: David Edelsohn @ 1999-09-30 18:02 UTC (permalink / raw)
  To: dyoung; +Cc: gcc

>>>>> David Young writes:

David> Does egcs correctly generate code for the altivec vector and pixel types?
David> What is the status of this feature?
David> Is there a URL explaining the status or plan of this feature for egcs?

	Apple apparently has a version of egcs-1.1.2 with AltiVec
functionality added available from an Apple website.  I have not received
any contact from Apple about a timetable for contributing that work back
to GCC.  Hopefully all of Apple's changes eventually will be incorporated
into the GCC public sources so that they do not need to maintain a
divergent branch and can utilize GCC development more rapidly.

David

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:46         ` Martin v. Loewis
  1999-09-20 17:34           ` Alexandre Oliva
  1999-09-21  1:26           ` Wolfram Gloger
@ 1999-09-30 18:02           ` Martin v. Loewis
  2 siblings, 0 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-30 18:02 UTC (permalink / raw)
  To: alex.buell; +Cc: gcc

> A while back I had LessTif 0.88.9 compiled and installed using
> egcs-1.1.2. ...
> I also noticed that my favourite debugger (DDD - a motif-based debugger)
> was crashing on start-up...
> I took X11 down and recompiled it all...
[...]
> I was told by someone else on the gcc mailing list that it was because
> gcc-2.95.1 and the egcs range (1.0.3 -> 1.1.2) have different binary
> conventions. Fun. 

These are all C applications, right? (at least X11, and Lesstif are -
not sure about DDD). There has been absolutely *no* change in the
binary convention for the C language (somebody correct me if I'm
wrong), so recompiling X11 would definitely not have the effect of
fixing ABI problems.

Perhaps I'm missing something, but it seems to me that your problems
must have been caused by something else (like a codegen bug that would
only show up in certain cases, and fixed by recompiling the libraries,
or a corruption of the library image on disk, fixed again by producing
a new image).

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-22  7:14     ` Gerald Pfeifer
@ 1999-09-30 18:02       ` Gerald Pfeifer
  0 siblings, 0 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-09-30 18:02 UTC (permalink / raw)
  To: David Young; +Cc: David Edelsohn, gcc

On Wed, 22 Sep 1999, David Young wrote:
> How can I become informed when it is mainlined, going to be mainlined,
> or is being worked on (has been submitted by Apple)? Is there a URL
> for that or anyone that maintains that information?

If/when this is added to GCC (CVS sources) there will be an announcement
at the URL http://gcc.gnu.org . We always announce such stuff there...

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-21 12:16             ` Alex Buell
  1999-09-22  1:09               ` Wolfram Gloger
@ 1999-09-30 18:02               ` Alex Buell
  1 sibling, 0 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Wolfram Gloger; +Cc: gcc

On 21 Sep 1999, Wolfram Gloger wrote:

> I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
> problems.  I, too, had to recompile my X11 libraries (not any C
> applications though) when I made that upgrade.  It's mentioned in
> glibc's release notes, I believe.

Been there, done that. Everything worked 100% prior to installing
gcc-2.95.1.
 
> I see no evidence that there are any backwards compatibility problems
> with `pure' C code due to gcc upgrades.

And the evidence is right here, rebuilding cured my problems. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-22  1:09               ` Wolfram Gloger
  1999-09-22 15:29                 ` Alex Buell
@ 1999-09-30 18:02                 ` Wolfram Gloger
  1 sibling, 0 replies; 46+ messages in thread
From: Wolfram Gloger @ 1999-09-30 18:02 UTC (permalink / raw)
  To: alex.buell; +Cc: gcc

> On 21 Sep 1999, Wolfram Gloger wrote:
> 
> > I'm pretty sure that the upgrade from glibc-2.0 to 2.1 caused these
> > problems.  I, too, had to recompile my X11 libraries (not any C
> > applications though) when I made that upgrade.  It's mentioned in
> > glibc's release notes, I believe.
> 
> Been there, done that. Everything worked 100% prior to installing
> gcc-2.95.1.

I should have been more clear: The fact that the X11 libs had been
compiled against glibc-2.0 caused the compatibility problem.  Surely
this was the case for you too ?  These problems were subtle, it was
quite hard to notice them at all (I noticed only several months after
installing glibc-2.1).

> > I see no evidence that there are any backwards compatibility problems
> > with `pure' C code due to gcc upgrades.
> 
> And the evidence is right here, rebuilding cured my problems. 

Yes, rebuilding the X11 libraries against glibc-2.1 cured the
problems.  This sure looks like a change in glibc to me (as mentioned
in its release notes).  You could probably verify this by once again
recompiling X11 using an older compiler (this I would predict to
continue working) _or_ against glibc-2.0 (this I would predict to
fail).

Regards,
Wolfram.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:23   ` Martin v. Loewis
  1999-09-24 13:10     ` Gerald Pfeifer
@ 1999-09-30 18:02     ` Martin v. Loewis
  1 sibling, 0 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-30 18:02 UTC (permalink / raw)
  To: landauer; +Cc: gcc

> Is there a more detailed description of what the known
> incompatibilities are, and/or what C++ features might
> trigger them, and/or whether there is a subset of C++ that
> one might reasonably expect to work compatibly, say from
> egcs 1.1 to gcc 2.95?

I started collecting such information, but I don't know whether my
list is complete. If anybody has additions, please let me know:

- STL was updated. In particular, the Allocator implementation was
  replaced, and renamed. As a result, all mangled names mentioning
  an allocator (i.e. more or less *all* instantiations of standard
  templates) are binary-incompatible with egcs 1.1. As STL continues
  to evolve in a binary-incompatible manner, such changes are likely
  in the future.
  A number of other STL classes changed as well. I stopped writing
  down the changes when I noticed the allocator thing; feel free to
  diff between 1.1 STL and 2.95 STL if you need more details.
- __start_cp_handler was introduced as part of libgcc, and the EH
  machinery. The old (i.e. 1.1) functions remain present, and it
  is ok to mix them with __start_cp_handler. It only means that you
  cannot link 2.95 object files with the 1.1 libgcc.a

Anything else should be compatible. As I said, I may be missing
things. Since people will continue to ask this question: If anybody
knows of any other incompatibility, *please* let me know.

As for compatibility with even older versions (egcs 1.0, gcc 2.8):
Forget it. I have no complete list, but the changes to make EH
thread-safe should break a large number of binaries; I believe STL was
updated between 1.0 and 1.1, as well.

> And is there anything describing likely C++ ABI changes in
> near-future releases (2.9x for x > 5; and/or 3.0)?

Well, it is very easy to find out what *currently* comprises the ABI
changes in gcc 2.96, under the -fnew-abi flag; see cp/decl2.c for a
details:
- The squangling mechanism will break link compatibility.
- honor-std breaks that as well, at least for std library things
  (primarily iostreams and STL)
- vtable-thunks are enabled on all platforms (under new ABI), with
  an important fix still missing (but coming up)
- the new ABI itself currently does the empty bases optimization,
  but different people have different ideas what else it could or
  should do.

If the above counts as "anything", I guess I'm done. It is difficult
to tell what changes exactly will be in the next compiler, especially
as I did not mention libstdc++ v3 so far. If we get that, about every
program using the std library will binary-break.

So it is a safe bet that one of the upcoming releases will be totally
incompatible with anything you are compiling right now. Exactly *when*
this will happen is open at this time; different people have different
views :-)

Hope this helps,
Martin

P.S. I didn't include any sales talk about how great the future will
be, and how important it is to give the new features to the users, and
that users should either accept that as a fact of life, or continue
with the compiler they got. I hope you'll understand all this, anyway,
and that I'm speaking for myself, not as a representative of somebody
or something.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:16       ` Alex Buell
  1999-09-20 15:46         ` Martin v. Loewis
@ 1999-09-30 18:02         ` Alex Buell
  1 sibling, 0 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: gcc

On Mon, 20 Sep 1999, Martin v. Loewis wrote:

> > I ran into this problem with my Linux system. As most of the libraries had
> > been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
> > gcc-2.95.1, everything went to hell. :o( 
> 
> Could you qualify in more detail what exactly stopped working, and
> perhaps even why?

It's a long story but if you're prepared to read on, then do so by all
means.

A while back I had LessTif 0.88.9 compiled and installed using
egcs-1.1.2. Soon after, I decided to install gcc-2.95.1 on the system,
LessTif 0.89.0 came out soon afterwards and I compiled and installed it. 

It was at that point that things took a strange turn, I noticed that some
of my Motif applications that were built using egcs-1.1.2 would exhibit
very strange behaviour (i.e coredumped at a particular place every time).
I thought I'd recompile the Motif applications but they still coredumped.
I also noticed that my favourite debugger (DDD - a motif-based debugger)
was crashing on start-up, figured out that the new binaries and the
LessTif libraries were in fact blowing up everytime they tried to make
calls into the X11R6 libraries (which had been compiled with egcs 4 months
ago!). I took X11 down and recompiled it all (taking the opportunity to
upgrade to 3.3.5 from 3.3.3 along the way), reinstalled. 

Bingo. That solved the coredump problems. 

I was told by someone else on the gcc mailing list that it was because
gcc-2.95.1 and the egcs range (1.0.3 -> 1.1.2) have different binary
conventions. Fun. 

Now when I come across an application that's acting strangely, I recompile
that and its associated libraries. That usually cures the problem. 

Unfortunately there's worse to come (not that I'm blaming the gcc people
for this, the kernel people should have known better than to use invalid
asm constructs!), don't think about compiling kernels with gcc-2.95.1
until the asm constructs are fixed, that will happen for 2.2.13. In fact
I've had several crashes already in the last two days. I just hope 2.2.13
will come out soon. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* egcs and altivec vector type
  1999-09-20 11:20 egcs and altivec vector type David Young
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
  1999-09-21 10:10 ` egcs and altivec vector type David Edelsohn
@ 1999-09-30 18:02 ` David Young
  2 siblings, 0 replies; 46+ messages in thread
From: David Young @ 1999-09-30 18:02 UTC (permalink / raw)
  To: gcc

Does egcs correctly generate code for the altivec vector and pixel types?
What is the status of this feature?
Is there a URL explaining the status or plan of this feature for egcs?

Your input is much appreciated!

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
  1999-09-20 14:17   ` Alex Buell
  1999-09-20 15:23   ` Martin v. Loewis
@ 1999-09-30 18:02   ` Doug Landauer
  2 siblings, 0 replies; 46+ messages in thread
From: Doug Landauer @ 1999-09-30 18:02 UTC (permalink / raw)
  To: gcc

The GCC 2.95 Caveats page (< http://egcs.cygnus.com/gcc-2.95/caveats.html >)
says
>
>  GCC 2.95 compiled C++ code is not binary compatible
>    with EGCS 1.1, EGCS 1.0.x or GCC 2.8.x.

Is there a more detailed description of what the known
incompatibilities are, and/or what C++ features might
trigger them, and/or whether there is a subset of C++ that
one might reasonably expect to work compatibly, say from
egcs 1.1 to gcc 2.95?


And is there anything describing likely C++ ABI changes in
near-future releases (2.9x for x > 5; and/or 3.0)?


  Thanks,
   -- Doug Landauer


^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 14:17   ` Alex Buell
  1999-09-20 15:04     ` Martin v. Loewis
@ 1999-09-30 18:02     ` Alex Buell
  1 sibling, 0 replies; 46+ messages in thread
From: Alex Buell @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Doug Landauer; +Cc: gcc

On Mon, 20 Sep 1999, Doug Landauer wrote:

> Is there a more detailed description of what the known
> incompatibilities are, and/or what C++ features might trigger them,
> and/or whether there is a subset of C++ that one might reasonably
> expect to work compatibly, say from egcs 1.1 to gcc 2.95?

I ran into this problem with my Linux system. As most of the libraries had
been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
gcc-2.95.1, everything went to hell. :o( 

Solution was to recompile nearly everything. Fortunately, I've got ~600MB
sources on a CD so it was just a matter of rebuilding all the critical
libraries, and then fixing the rest as I find them. 

Cheers, 
Alex 
-- 

Legalise cannabis today!

http://www.tahallah.demon.co.uk - updated!

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: egcs and altivec vector type
  1999-09-22  7:09   ` David Young
  1999-09-22  7:14     ` Gerald Pfeifer
@ 1999-09-30 18:02     ` David Young
  1 sibling, 0 replies; 46+ messages in thread
From: David Young @ 1999-09-30 18:02 UTC (permalink / raw)
  To: David Edelsohn; +Cc: gcc

David,

> I have not received
> any contact from Apple about a timetable for contributing that work back
> to GCC.  Hopefully all of Apple's changes eventually will be incorporated
> into the GCC public sources

Thank you for your information. I am aware of Apple's version, but we want  
the mainlined (GCC public sources) version with altivec code when available,  
if ever. How can I become informed when it is mainlined, going to be  
mainlined, or is being worked on (has been submitted by Apple)? Is there a  
URL for that or anyone that maintains that information?

Again, thanks for the excellent egcs!

Thanks A Bunch! David Young; VVI-DCS
dyoung@vvi.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-20 15:04     ` Martin v. Loewis
  1999-09-20 15:16       ` Alex Buell
@ 1999-09-30 18:02       ` Martin v. Loewis
  1 sibling, 0 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-09-30 18:02 UTC (permalink / raw)
  To: alex.buell; +Cc: landauer, gcc

> I ran into this problem with my Linux system. As most of the libraries had
> been compiled with egcs-1.0.3, egcs-1.1.1, egcs-1.1.2, and when I moved to
> gcc-2.95.1, everything went to hell. :o( 

Could you qualify in more detail what exactly stopped working, and
perhaps even why?

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-24 13:10     ` Gerald Pfeifer
@ 1999-09-30 18:02       ` Gerald Pfeifer
  1999-10-08 10:36       ` Martin v. Loewis
  1 sibling, 0 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-09-30 18:02 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: landauer, gcc

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

On Tue, 21 Sep 1999, Martin v. Loewis wrote:
>> Is there a more detailed description of what the known
>> incompatibilities are, and/or what C++ features might
>> trigger them, and/or whether there is a subset of C++ that
>> one might reasonably expect to work compatibly, say from
>> egcs 1.1 to gcc 2.95?
> I started collecting such information, but I don't know whether my
> list is complete. If anybody has additions, please let me know:

Hi Martin,

I guess upon reading the Subject: and From: headers of this mail you
is already schwaning Ãœbles, right? (Sorry for the Germanism ;-) )

Wouldn't this make a great addition to our documentation on the web?

I am not yet completely sure where exactly to put that, but would you
be willing to contribute something in that direction?

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-09-24 13:10     ` Gerald Pfeifer
  1999-09-30 18:02       ` Gerald Pfeifer
@ 1999-10-08 10:36       ` Martin v. Loewis
  1999-10-31 23:35         ` Martin v. Loewis
  1 sibling, 1 reply; 46+ messages in thread
From: Martin v. Loewis @ 1999-10-08 10:36 UTC (permalink / raw)
  To: pfeifer; +Cc: landauer, gcc

> I am not yet completely sure where exactly to put that, but would you
> be willing to contribute something in that direction?

I think last time we discussed that, there was some kind of agreement
*not* to document the ABI differences. Instead, the "official" party
line is that there is no compatibility whatsoever between major
compiler versions, and any reports to the contrary are pure luck.

People who *really* need this kind of information can ask on the list,
or they can even search the mailing list archive now.

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 10:36       ` Martin v. Loewis
@ 1999-10-31 23:35         ` Martin v. Loewis
  0 siblings, 0 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-10-31 23:35 UTC (permalink / raw)
  To: pfeifer; +Cc: landauer, gcc

> I am not yet completely sure where exactly to put that, but would you
> be willing to contribute something in that direction?

I think last time we discussed that, there was some kind of agreement
*not* to document the ABI differences. Instead, the "official" party
line is that there is no compatibility whatsoever between major
compiler versions, and any reports to the contrary are pure luck.

People who *really* need this kind of information can ask on the list,
or they can even search the mailing list archive now.

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 13:28   ` Mark Mitchell
  1999-10-08 22:05     ` Gerald Pfeifer
@ 1999-10-31 23:35     ` Mark Mitchell
  1 sibling, 0 replies; 46+ messages in thread
From: Mark Mitchell @ 1999-10-31 23:35 UTC (permalink / raw)
  To: pfeifer; +Cc: mrs, martin, gcc, landauer

>>>>> "Gerald" == Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

    Gerald> Concerning squangling, I have been testing this on regular
    Gerald> base on sparc-sun-solaris2.6 i386-unknown-freebsdelf3.x
    Gerald> and sometimes also alphaev56-dec-osf4.0d
    Gerald> i386-pc-solaris2.7 without any problems during the last 12
    Gerald> months.

And I on sgi-mips-irix6.5.  Of course, although we don't actually
claim link-compatibility, most new code does link OK with most old
code.  Turning on -fnew-abi will break this in a rather drastic sort
of way. 

In some sense, this is similar to the -fstrict-aliasing debate; should
we strive to preserve compatibility where we can, even if that's not
everywhere, or should we (aggressively) break such compatibility in
the name of progress?

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 11:38 ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Mike Stump
  1999-10-08 11:48 ` Gerald Pfeifer
@ 1999-10-31 23:35 ` Mike Stump
  1 sibling, 0 replies; 46+ messages in thread
From: Mike Stump @ 1999-10-31 23:35 UTC (permalink / raw)
  To: martin, pfeifer; +Cc: gcc, landauer

> Date: Fri, 8 Oct 1999 19:28:20 +0200
> From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>

> I think last time we discussed that, there was some kind of
> agreement *not* to document the ABI differences. Instead, the
> "official" party line is that there is no compatibility whatsoever
> between major compiler versions, and any reports to the contrary are
> pure luck.  [ the context for this was c++ (I hope) ]

Since we have now proven that we can't maintain compatibility, I think
it would be wise to turn on -fnew-abi features that are near stable,
so that we can finish testing and stabilizing them for the next major
release.  For example -fsquangle is an excellent example.

Jason, any plans to start turning this type of stuff on?

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-09  4:10       ` Martin v. Loewis
@ 1999-10-31 23:35         ` Martin v. Loewis
  0 siblings, 0 replies; 46+ messages in thread
From: Martin v. Loewis @ 1999-10-31 23:35 UTC (permalink / raw)
  To: pfeifer; +Cc: mark, mrs, gcc

> I believe there is one major difference: The (reported) problems related
> to -fstrict-aliasing do not show up immediately during compiliation, while
> an ABI change immediately will show up during linking.

Well, the "empty base class optimization" is not linkage-safe: linking
code compiled with and without it will result in crashes or other
strange behaviour. Therefore, activating that must be combined with
activating other ABI changes that do result in linkage errors (such as
squangling, or vtable thunks).

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 11:48 ` Gerald Pfeifer
  1999-10-08 13:28   ` Mark Mitchell
@ 1999-10-31 23:35   ` Gerald Pfeifer
  1 sibling, 0 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-10-31 23:35 UTC (permalink / raw)
  To: Mike Stump; +Cc: martin, gcc, landauer

On Fri, 8 Oct 1999, Mike Stump wrote:
> Since we have now proven that we can't maintain compatibility, I think
> it would be wise to turn on -fnew-abi features that are near stable,
> so that we can finish testing and stabilizing them for the next major
> release.  For example -fsquangle is an excellent example.

Actually this was my very first thought after reading Martin's reply! ;-)

Not wanting to break binary compatibility has always been the killer
argument against enabling -fnew-abi or -fsquangle, even though the latter,
for example, would have made the life of a lot of folks much easier.

Concerning squangling, I have been testing this on regular base on
  sparc-sun-solaris2.6
  i386-unknown-freebsdelf3.x
and sometimes also
  alphaev56-dec-osf4.0d
  i386-pc-solaris2.7
without any problems during the last 12 months.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 22:05     ` Gerald Pfeifer
  1999-10-09  4:10       ` Martin v. Loewis
@ 1999-10-31 23:35       ` Gerald Pfeifer
  1 sibling, 0 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-10-31 23:35 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: mrs, martin, gcc, landauer

On Fri, 8 Oct 1999, Mark Mitchell wrote:
> Turning on -fnew-abi will break this in a rather drastic sort of way.
> 
> In some sense, this is similar to the -fstrict-aliasing debate; should
> we strive to preserve compatibility where we can, even if that's not
> everywhere, or should we (aggressively) break such compatibility in
> the name of progress?

I believe there is one major difference: The (reported) problems related
to -fstrict-aliasing do not show up immediately during compiliation, while
an ABI change immediately will show up during linking.

Also it has little potential breaking old and/or unmaintained packages,
the only thing that might cause troubles are libraries provided in binary
form only, but these probably already broke between each of egcs 1.0 and
egcs 1.1, egcs 1.1 and GCC 2.95, or GCC 2.8 and GCC 2.95.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 22:05     ` Gerald Pfeifer
@ 1999-10-09  4:10       ` Martin v. Loewis
  1999-10-31 23:35         ` Martin v. Loewis
  1999-10-31 23:35       ` Gerald Pfeifer
  1 sibling, 1 reply; 46+ messages in thread
From: Martin v. Loewis @ 1999-10-09  4:10 UTC (permalink / raw)
  To: pfeifer; +Cc: mark, mrs, gcc

> I believe there is one major difference: The (reported) problems related
> to -fstrict-aliasing do not show up immediately during compiliation, while
> an ABI change immediately will show up during linking.

Well, the "empty base class optimization" is not linkage-safe: linking
code compiled with and without it will result in crashes or other
strange behaviour. Therefore, activating that must be combined with
activating other ABI changes that do result in linkage errors (such as
squangling, or vtable thunks).

Regards,
Martin

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 13:28   ` Mark Mitchell
@ 1999-10-08 22:05     ` Gerald Pfeifer
  1999-10-09  4:10       ` Martin v. Loewis
  1999-10-31 23:35       ` Gerald Pfeifer
  1999-10-31 23:35     ` Mark Mitchell
  1 sibling, 2 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-10-08 22:05 UTC (permalink / raw)
  To: Mark Mitchell; +Cc: mrs, martin, gcc, landauer

On Fri, 8 Oct 1999, Mark Mitchell wrote:
> Turning on -fnew-abi will break this in a rather drastic sort of way.
> 
> In some sense, this is similar to the -fstrict-aliasing debate; should
> we strive to preserve compatibility where we can, even if that's not
> everywhere, or should we (aggressively) break such compatibility in
> the name of progress?

I believe there is one major difference: The (reported) problems related
to -fstrict-aliasing do not show up immediately during compiliation, while
an ABI change immediately will show up during linking.

Also it has little potential breaking old and/or unmaintained packages,
the only thing that might cause troubles are libraries provided in binary
form only, but these probably already broke between each of egcs 1.0 and
egcs 1.1, egcs 1.1 and GCC 2.95, or GCC 2.8 and GCC 2.95.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 11:48 ` Gerald Pfeifer
@ 1999-10-08 13:28   ` Mark Mitchell
  1999-10-08 22:05     ` Gerald Pfeifer
  1999-10-31 23:35     ` Mark Mitchell
  1999-10-31 23:35   ` Gerald Pfeifer
  1 sibling, 2 replies; 46+ messages in thread
From: Mark Mitchell @ 1999-10-08 13:28 UTC (permalink / raw)
  To: pfeifer; +Cc: mrs, martin, gcc, landauer

>>>>> "Gerald" == Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:

    Gerald> Concerning squangling, I have been testing this on regular
    Gerald> base on sparc-sun-solaris2.6 i386-unknown-freebsdelf3.x
    Gerald> and sometimes also alphaev56-dec-osf4.0d
    Gerald> i386-pc-solaris2.7 without any problems during the last 12
    Gerald> months.

And I on sgi-mips-irix6.5.  Of course, although we don't actually
claim link-compatibility, most new code does link OK with most old
code.  Turning on -fnew-abi will break this in a rather drastic sort
of way. 

In some sense, this is similar to the -fstrict-aliasing debate; should
we strive to preserve compatibility where we can, even if that's not
everywhere, or should we (aggressively) break such compatibility in
the name of progress?

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
  1999-10-08 11:38 ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Mike Stump
@ 1999-10-08 11:48 ` Gerald Pfeifer
  1999-10-08 13:28   ` Mark Mitchell
  1999-10-31 23:35   ` Gerald Pfeifer
  1999-10-31 23:35 ` Mike Stump
  1 sibling, 2 replies; 46+ messages in thread
From: Gerald Pfeifer @ 1999-10-08 11:48 UTC (permalink / raw)
  To: Mike Stump; +Cc: martin, gcc, landauer

On Fri, 8 Oct 1999, Mike Stump wrote:
> Since we have now proven that we can't maintain compatibility, I think
> it would be wise to turn on -fnew-abi features that are near stable,
> so that we can finish testing and stabilizing them for the next major
> release.  For example -fsquangle is an excellent example.

Actually this was my very first thought after reading Martin's reply! ;-)

Not wanting to break binary compatibility has always been the killer
argument against enabling -fnew-abi or -fsquangle, even though the latter,
for example, would have made the life of a lot of folks much easier.

Concerning squangling, I have been testing this on regular base on
  sparc-sun-solaris2.6
  i386-unknown-freebsdelf3.x
and sometimes also
  alphaev56-dec-osf4.0d
  i386-pc-solaris2.7
without any problems during the last 12 months.

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: ABI/compatibility details?  (egcs -> gcc 2.95 -> future?)
@ 1999-10-08 11:38 Mike Stump
  1999-10-08 11:48 ` Gerald Pfeifer
  1999-10-31 23:35 ` Mike Stump
  0 siblings, 2 replies; 46+ messages in thread
From: Mike Stump @ 1999-10-08 11:38 UTC (permalink / raw)
  To: martin, pfeifer; +Cc: gcc, landauer

> Date: Fri, 8 Oct 1999 19:28:20 +0200
> From: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de>

> I think last time we discussed that, there was some kind of
> agreement *not* to document the ABI differences. Instead, the
> "official" party line is that there is no compatibility whatsoever
> between major compiler versions, and any reports to the contrary are
> pure luck.  [ the context for this was c++ (I hope) ]

Since we have now proven that we can't maintain compatibility, I think
it would be wise to turn on -fnew-abi features that are near stable,
so that we can finish testing and stabilizing them for the next major
release.  For example -fsquangle is an excellent example.

Jason, any plans to start turning this type of stuff on?

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~1999-10-31 23:35 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-20 11:20 egcs and altivec vector type David Young
1999-09-20 14:10 ` ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Doug Landauer
1999-09-20 14:17   ` Alex Buell
1999-09-20 15:04     ` Martin v. Loewis
1999-09-20 15:16       ` Alex Buell
1999-09-20 15:46         ` Martin v. Loewis
1999-09-20 17:34           ` Alexandre Oliva
1999-09-21  0:00             ` Alex Buell
1999-09-30 18:02               ` Alex Buell
1999-09-30 18:02             ` Alexandre Oliva
1999-09-21  1:26           ` Wolfram Gloger
1999-09-21 12:16             ` Alex Buell
1999-09-22  1:09               ` Wolfram Gloger
1999-09-22 15:29                 ` Alex Buell
1999-09-30 18:02                   ` Alex Buell
1999-09-30 18:02                 ` Wolfram Gloger
1999-09-30 18:02               ` Alex Buell
1999-09-30 18:02             ` Wolfram Gloger
1999-09-30 18:02           ` Martin v. Loewis
1999-09-30 18:02         ` Alex Buell
1999-09-30 18:02       ` Martin v. Loewis
1999-09-30 18:02     ` Alex Buell
1999-09-20 15:23   ` Martin v. Loewis
1999-09-24 13:10     ` Gerald Pfeifer
1999-09-30 18:02       ` Gerald Pfeifer
1999-10-08 10:36       ` Martin v. Loewis
1999-10-31 23:35         ` Martin v. Loewis
1999-09-30 18:02     ` Martin v. Loewis
1999-09-30 18:02   ` Doug Landauer
1999-09-21 10:10 ` egcs and altivec vector type David Edelsohn
1999-09-22  7:09   ` David Young
1999-09-22  7:14     ` Gerald Pfeifer
1999-09-30 18:02       ` Gerald Pfeifer
1999-09-30 18:02     ` David Young
1999-09-30 18:02   ` David Edelsohn
1999-09-30 18:02 ` David Young
1999-10-08 11:38 ABI/compatibility details? (egcs -> gcc 2.95 -> future?) Mike Stump
1999-10-08 11:48 ` Gerald Pfeifer
1999-10-08 13:28   ` Mark Mitchell
1999-10-08 22:05     ` Gerald Pfeifer
1999-10-09  4:10       ` Martin v. Loewis
1999-10-31 23:35         ` Martin v. Loewis
1999-10-31 23:35       ` Gerald Pfeifer
1999-10-31 23:35     ` Mark Mitchell
1999-10-31 23:35   ` Gerald Pfeifer
1999-10-31 23:35 ` Mike Stump

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).