Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Jan 2013 16:01:48 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        toolchain@FreeBSD.org
Subject:   Re: C++ runtime version patch for testing
Message-ID:  <864783A2-E48D-49A6-AD3E-6EABE6EB5313@FreeBSD.org>
In-Reply-To: <20130127155206.GN2522@kib.kiev.ua>
References:  <EDDAA896-D752-450F-89A0-4831FB016AC5@FreeBSD.org> <20130127150313.GM2522@kib.kiev.ua> <90749775-2C2E-4E8B-9BC2-670BE5F2798B@FreeBSD.org> <20130127155206.GN2522@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_85DC9841-CC71-49AA-B83E-2E1887D1BE7D
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

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

> On Sun, Jan 27, 2013 at 03:17:51PM +0000, David Chisnall wrote:
>=20
> 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=3Dlibc++.  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=

--Apple-Mail=_85DC9841-CC71-49AA-B83E-2E1887D1BE7D
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)

iQIcBAEBAgAGBQJRBU9tAAoJEKx65DEEsqIdffgQAJ4+khCb0NKqnx69ZPThOwAI
++V1Mw5ZnB7noe9K53ndV5Pt8zjLMgLDC33SoDD6O2IWpzIS2sUFUXCcYpM8TvFb
oVuIYTTKsQ62yYMBPMKluDhwa23I9BvNlt3VlKE2AnIaNOiLHfUwghadZj/rWCCY
vGVNcu63RVAjrXoH/hBcu7NgoEC0WS+8yv3MnnIRdhpvHysFPS11KDmqQVRD2/d0
XScLrnMt9x4ZKVAZDMIZtBrnxGbxeRgvq83IymZdEwVbK+rXXnOokerDd5ZbP7PY
GhQyVTszN/Voat9mJzif198fk9r0qBeR7OvVpVQ686urBrmmbFO+c7wAu7LEhuvq
OCd2UnCunD0+vtou8+AWsg3YIIE75IsSOjOoUbs+/MafYZbyAzs08MxA2xdlfNG3
3929Pbdmfq+yJ54/jU730w2AFYUiASFPSdwam8ZROE374/MAiJ8EUqF8Jefi1rvV
PSTV3EsWuvkyP47A775XTOE7oXUPwq3nMhJLDDmxR7EVVlM/uFgfdc7IiE0x3rQF
CfJQ59KDG8uosiEWs2NytP926/O1bEOK2jHRYyPmNQ3N6YCmV7hQo4FFoG7vx4qp
F4IzXJU8fieHcYViOfoMhwPIteHsNxa/5zqrqup+1oHnq+9eH5OLqSrjTjS0g9qq
q7rkyL1nDQUEFCuvoqSo
=LPgt
-----END PGP SIGNATURE-----

--Apple-Mail=_85DC9841-CC71-49AA-B83E-2E1887D1BE7D--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?864783A2-E48D-49A6-AD3E-6EABE6EB5313>