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