This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Plans for ABI migration
- To: gcc at gcc dot gnu dot org
- Subject: Plans for ABI migration
- From: Bernardo Innocenti <bernie at codewiz dot org>
- Date: Tue, 9 Jan 2001 21:38:52 +0100
- Organization: CodeWiz
- Reply-To: bernie at codewiz dot org
Hello,
did the steering comitee already set a roadmap to ease the
migration from the old C++ ABI (gcc 2.9x) to the new one
(gcc 3.x)?
This is expecially needed for systems using gcc as their
official C++ compiler, such as Linux and *BSD.
People can't just recompile everything with the new
compiler or upgrade all binary packages in one go. If
you replace a C++ library such as QT with the very same
version compiled by g++ 3.0, then you must immeditaley
upgrade everything else in a cascade. And not all programs
come with source code that you can easily recompile yourself.
This is going to be quite a pain for most users and even
for distribution makers unless something is done to allow
a smooth migration scheme.
Bumping the major number of libraries when they get recompiled
with gcc 3.0 is not a viable choice, since it requires
cooperation from all library developers to handle this
in their build systems.
Following the example of the libc5 -> glibc migration,
perhaps it would be possible to let ld.so distingish
programs compiled by g++ 3.0 from older versions and use
a different library path in this case. Something like this
could go in /etc/ld.so.conf:
/usr/lib=gcc3
/usr/i686-linux-gcc2/lib=gcc3
/usr/local/lib
...
Perhaps it can be done in a way that allows to use
this trick for future changes in the ABI in a strightforward way.
--
// Bernardo Innocenti
\X/ http://www.codewiz.org