Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Feb 2014 17:00:31 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Stefan Farfeleder <stefanf@FreeBSD.org>, Dimitry Andric <dim@FreeBSD.org>, src-committers@FreeBSD.org
Subject:   Re: svn commit: r261283 - in head: contrib/libc++ contrib/libc++/include contrib/libc++/include/experimental contrib/libc++/include/ext contrib/libc++/src etc/mtree lib/libc++ sys/sys tools/build/mk
Message-ID:  <20140203170031.2166661c@kan.dyndns.org>
In-Reply-To: <73ED697C-09CC-49D6-8EBD-0F0E20232729@FreeBSD.org>
References:  <201401300744.s0U7iNLt016044@svn.freebsd.org> <20140203123235.GA1540@mole.fafoe.narf.at> <20140203133254.243db1cd@kan.dyndns.org> <73ED697C-09CC-49D6-8EBD-0F0E20232729@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_//uik=TAN.5so1N1aJbGJY/t
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Mon, 3 Feb 2014 18:54:46 +0000
David Chisnall <theraven@FreeBSD.org> wrote:

> On 3 Feb 2014, at 18:32, Alexander Kabaev <kabaev@gmail.com> wrote:
>=20
> > More than likely. It does appear libc++ does not go through same
> > pains to maintain ABI stable as libstdc++ does. The lack of all and
> > any symbol versions in shared library binary strongly suggests that
> > not only they do not bother with ABI stability, they simply can't
> > enforce it at the moment even if they wanted to.
>=20
> libc++ aims to provide a stable ABI, however it does so in a manner
> that is intended to integrate with the source language, rather than
> by applying linker hacks post facto (which is very hard to do write
> with C++).  Every std:: class in libc++ is implemented inside a
> version namespace inside std, and then imported into std:: in the
> header.  ABI-breaking classes should be inside a new version
> namespace.
>=20
> If you have examples where the ABI was not accidentally changed, then
> please report them as bugs and we will try to fix them.  If you just
> have unfounded supposition, then it is not helpful to the discussion.
>=20
> David

At the very least, new library did remove
_ZNKSt3__111__libcpp_db12__comparableEPKvS2_ which was public before.
Your definition of ABI stability might be different from mine, but in
my book that counts as a backward compatibility breakage. And even if
that symbol was not supposed to be lined to by anyone, it should not
have been exported in the first place.


--=20
Alexander Kabaev

--Sig_//uik=TAN.5so1N1aJbGJY/t
Content-Type: application/pgp-signature; name=signature.asc
Content-Disposition: attachment; filename=signature.asc

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

iD8DBQFS8BGEQ6z1jMm+XZYRAqlFAKDj7m3vtdD8UCc9e0qYd6zSD0NUjQCdG12v
nV42l8t+CTpMXaUCw3ObUIc=
=gZfQ
-----END PGP SIGNATURE-----

--Sig_//uik=TAN.5so1N1aJbGJY/t--



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