C++ runtime version patch for testing

David Chisnall theraven at FreeBSD.org
Sun Jan 27 16:01:57 UTC 2013


On 27 Jan 2013, at 15:52, Konstantin Belousov wrote:

> On Sun, Jan 27, 2013 at 03:17:51PM +0000, David Chisnall wrote:
> 
> Apparently c++filt from 2.23.1 binutils has bug, c++filt is
> not able to demangle the set_new_handler.

I'm using the one from head, which may be the elftoolchain project one?  It seems to be missing a man page...

> You need to add 'std::bad_typeid::what() const' to 3.4.9 as well, it
> seems.

Added

> Do readelf -d <some binary> and look for the needed tags. If libcxxrt
> is not passed on the linker command line and not recorded as needed
> in the libc++/libstdc++, it should be fine.

 0x0000000000000001 (NEEDED)             Shared library: [libcxxrt.so.1]

This is with something compiled with -stdlib=libc++.  It seems the (NEEDED) is there even if I compile with clang -lc++, instead of clang++, so the linker is adding it via the indirect dependency?  Or does it show up because libc++ has that line too?

> Your changes to libcxxrt obviously break the ABI, removing the symbols
> from the version namespace, but my hope is that namespace for libcxxrt
> is actually not part of the _system_ ABI. Thus the question.

I'm okay with breaking the libcxxrt ABI at this point.  libc++ is not part of the standard install, and is there for testing in 9.1.  libcxxrt isn't linked against anything unless you use libc++ (or libstdc++ and a line in libmap.conf) so nothing non-experimental should use it.  For 9.2, I'd like to have an ABI that we can support long term.

David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20130127/e2e83c44/attachment.sig>


More information about the freebsd-toolchain mailing list