Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Mar 2012 13:16:23 -0400
From:      Alexander Kabaev <kabaev@gmail.com>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        arch@FreeBSD.org
Subject:   Re: C++ ABI library switching
Message-ID:  <20120320131623.4264c11e@kan.dyndns.org>
In-Reply-To: <47F86CED-DE0E-47A0-93E8-93D35E89F9F3@FreeBSD.org>
References:  <47F86CED-DE0E-47A0-93E8-93D35E89F9F3@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/s4Wk/AWoRN8gJ11nWofT9m=
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

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

> Hello the list,
>=20
> 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.
>=20
> 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.
>=20
> 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.
>=20
> Any objections / suggestions of better approaches?
>=20
> 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.

--=20
Alexander Kabaev

--Sig_/s4Wk/AWoRN8gJ11nWofT9m=
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iD8DBQFPaLtyQ6z1jMm+XZYRAu50AKC/Yr5ivdkk53jFxi0BCTTxUZ+FzwCfa5G+
lx2UZ4Vxqvmu32K0TEf4vFk=
=3zMa
-----END PGP SIGNATURE-----

--Sig_/s4Wk/AWoRN8gJ11nWofT9m=--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120320131623.4264c11e>