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

David Chisnall theraven at FreeBSD.org
Tue Feb 4 08:44:45 UTC 2014


On 3 Feb 2014, at 22:00, Alexander Kabaev <kabaev at gmail.com> wrote:

> At the very least, new library did remove
> _ZNKSt3__111__libcpp_db12__comparableEPKvS2_ which was public before.

This symbol is part of the debugging infrastructure and is used when you build your code with aggressive debug checks by defining _LIBCPP_DEBUG2 when you build your code.  It is not intended for deployment builds and so is not part of the stable API.  You can only access it by explicitly enabling debug builds.

> 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.

It sounds like you're just looking at the output from nm, without bothering to check how the symbols are used.  

David



More information about the svn-src-all mailing list