Date: Wed, 24 Jan 2018 12:51:16 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Ed Maste <emaste@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r328305 - head/lib/libcxxrt Message-ID: <F0B7A804-87F3-41A2-9FB2-76CBDFD544F5@FreeBSD.org> In-Reply-To: <201801232241.w0NMfDWW002171@repo.freebsd.org> References: <201801232241.w0NMfDWW002171@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_C5C03FDE-AF29-4317-B0C8-11B1F174B9BC Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 23 Jan 2018, at 23:41, Ed Maste <emaste@freebsd.org> wrote: >=20 > Author: emaste > Date: Tue Jan 23 22:41:13 2018 > New Revision: 328305 > URL: https://svnweb.freebsd.org/changeset/base/328305 >=20 > Log: > libcxxrt: Move mangled symbols out of extern "C++" in Version.map >=20 > r260553 added a number of mangled C++ symbols to Version.map inside = of > an existing `extern "C++"` block. >=20 > ld.bfd 2.17.50 treats `extern "C++"` permissively and will match both > mangled and demangled symbols against the strings in the version map > block. ld.lld interprets `extern "C++"` strictly, and matches only > demangled symbols. >=20 > I believe lld's behaviour is correct. Contemporary versions of = ld.bfd > also behave as lld does, so move the mangled symbols out of the > `extern "C++"` block. >=20 > PR: 225128, 185663 > MFC after: 1 week > Sponsored by: The FreeBSD Foundation >=20 > Modified: > head/lib/libcxxrt/Version.map >=20 > Modified: head/lib/libcxxrt/Version.map > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/lib/libcxxrt/Version.map Tue Jan 23 22:18:45 2018 = (r328304) > +++ head/lib/libcxxrt/Version.map Tue Jan 23 22:41:13 2018 = (r328305) > @@ -112,19 +112,6 @@ CXXABI_1.3 { > "typeinfo for void"; > "typeinfo for wchar_t const*"; > "typeinfo for wchar_t"; > - # C++11 typeinfo not understood by our linker > - # std::nullptr_t > - _ZTIDn;_ZTIPDn;_ZTIPKDn; Maybe, for readability, we should change these to unmangled form = instead? I didn't really understand why the file had mixed mangled and unmangled = forms. -Dimitry --Apple-Mail=_C5C03FDE-AF29-4317-B0C8-11B1F174B9BC Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCWmhzNAAKCRCwXqMKLiCW ow+gAKDpL+4heH7EcRafMPwPMyTXLFpEkgCfcZlezMU4zLRIcJXq9Y8+qhK90Xs= =UP1H -----END PGP SIGNATURE----- --Apple-Mail=_C5C03FDE-AF29-4317-B0C8-11B1F174B9BC--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F0B7A804-87F3-41A2-9FB2-76CBDFD544F5>