Re: Compiler ABI changes and XPCOM components

Bradley Baetz <[email protected]>
Newsgroups gmane.comp.mozilla.devel.xpcom
Organization Another Netscape Collabra Server User
Message-ID <[email protected]>
On Mon, 17 Jun 2002 12:08:21 -0700, Doug Turner <[email protected]> wrote:
> It really depends on how much the binary interface is broken.  If the 
> compiler decides to reorders vtables, prebuilt libraries under the old 
> compiler will not work in a xpcom that is compiled under the new compiler.
> 

gcc 3.x is suffiently different to egcs that that won't work. The thunking
is different, to start with, and it goes downhill from there.

On the plus side, theres now a cross platform ABI, which is frozen modulo 
compiler bugs (3.0->3.1 did change stuff, but I don't know if that would 
have affected mozilla)

libstdc++'s ABI isn't frozen, but mozilla doesn't use the STL stuff. We
link to it for operator new + friends, but gcc 3.1 moves that stuff into a
separate library, which will have a stable API, apparently.

Which, in theory, means that once mozilla/netscape/beonix/redhat/etc start 
using gcc3.1.1 for builds, it should, in theory, be stable til gcc 4. In 
theory.

I don't think this will affect people using the old C plugin API, though -
C doesn't have the mangling/etc issues c++ does.

I haven't really tested all of the above options though, so don't take 
what I say as fact...

Bradley
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.