C++ ABI library switching

Alexander Kabaev kabaev at gmail.com
Tue Mar 20 17:16:47 UTC 2012

On Sun, 18 Mar 2012 18:50:38 +0000
David Chisnall <theraven at FreeBSD.org> wrote:

> Hello the list,
> I am currently working on making it possible to switch C++ ABI
> library.  We currently ship one of these in FreeBSD 9.0 (libsupc++),
> and will hopefully ship two (libsupc++ and libcxxrt) in 9.1 and one
> (libstdc++) in 10.
> Currently, libc++ dynamically links to libcxxrt, libstdc++ statically
> links to libsupc++.  I would like to make us build libsupc++ as a .so
> and link libstdc++.so with -Wl,-f,libsupc++.so.1.  This makes it an
> auxiliary filter so, if libsupc++.so.1 exists, it will be used in
> place of the internal version.  This preserves ABI compatibility and
> allows us to switch between libcxxrt and libsupc++ with a libmap.conf
> entry, making it easy for users of 9.1 to test the libstdc++ and
> libcxxrt combination.
> With this done, it's then possible to link both libstdc++ and libc++
> into the same program, making the transition from libstdc++ to libc++
> relatively painless (everything still needs recompiling, but it
> doesn't all need recompiling at the same time).  For 10.0, we can
> then ship a COMPAT version of libstdc++ that is linked against
> libcxxrt by default.
> Any objections / suggestions of better approaches?
> David_______________________________________________

We did discuss this approach though other channels and use of the
filter was selected specifically because it is less intrusive of all
considered alternatives. Unless someone else raises objections soon,
I'd say go ahead.

Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20120320/8db0b6a7/signature.pgp

More information about the freebsd-arch mailing list