This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Plans for ABI migration


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]