<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libcxxrt/Version.map, branch releng/11.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F11.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F11.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2018-01-30T01:13:06Z</updated>
<entry>
<title>MFC r328305: libcxxrt: Move mangled symbols out of extern "C++" in Version.map</title>
<updated>2018-01-30T01:13:06Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2018-01-30T01:13:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=169cb0bc6cfb623da4f1780ea64f64dfc28d0ab7'/>
<id>urn:sha1:169cb0bc6cfb623da4f1780ea64f64dfc28d0ab7</id>
<content type='text'>
r260553 added a number of mangled C++ symbols to Version.map inside of
an existing `extern "C++"` block.

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.

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.

PR:		225128, 185663
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>MFC r314061:</title>
<updated>2017-03-08T07:58:29Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2017-03-08T07:58:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e07368800408542c50b544df9123069e5be8825c'/>
<id>urn:sha1:e07368800408542c50b544df9123069e5be8825c</id>
<content type='text'>
Add __int128-related symbols to libcxxrt's version map.  Put these into
the same CXXABI verions as recent libstdc++.

Note that __int128 types are only available on arches where long long is
128 bit wide.

Noticed by:	harti

MFC r314104:

Surround any unmangled C++ names in libcxxrt's version map with 'extern
"C++"', otherwise ld refuses to make the symbols global in the final
library.  This causes the __int128-related symbols to go missing when
the library is stripped during installation.

Helpful hints:	emaste
</content>
</entry>
<entry>
<title>libcxxrt: correct mangled "typeinfo name" symbols in Version.map</title>
<updated>2016-06-29T11:48:42Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2016-06-29T11:48:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b689d9268fa1fd32e413358cb4f6da007e0d7a6e'/>
<id>urn:sha1:b689d9268fa1fd32e413358cb4f6da007e0d7a6e</id>
<content type='text'>
r260553 added missing C++ typinfos to libcxxrt's version script.
It appears that a number of duplicate mangled symbols were added due to
a cut and paste error. Switch the second instances to _ZTS*,
typeinfo name for *.

Found by lld, which produces an error or warning for duplicate symbols.

Reviewed by:	dim
Approved by:	re (gjb)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D7011
</content>
</entry>
<entry>
<title>Add std::uncaught_exceptions() to libcxxrt (C++17, see N4152 and N4259).</title>
<updated>2015-10-05T17:47:23Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-10-05T17:47:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bb52ed324958e4f3e202b6aa5162e8ca56283930'/>
<id>urn:sha1:bb52ed324958e4f3e202b6aa5162e8ca56283930</id>
<content type='text'>
This has also been submitted upstream.
</content>
</entry>
<entry>
<title>Add __cxa_deleted_virtual to libcxxrt's version map.</title>
<updated>2015-06-23T17:54:24Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2015-06-23T17:54:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e350ac5e373e67da6e2d63dc7c0297daba8d0650'/>
<id>urn:sha1:e350ac5e373e67da6e2d63dc7c0297daba8d0650</id>
<content type='text'>
This symbol can sometimes be emitted by clang++, and was not yet
exported from libcxxrt.  Attempt to be compatible with libsupc++ by
using the same CXXABI_1.3.6 symbol version.

Reported by:	yuri@rawbw.com
PR:		200863
Reviewed by:	emaste
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D2850
</content>
</entry>
<entry>
<title>Add support for __cxa_throw_bad_array_new_length in libcxxrt</title>
<updated>2014-10-21T10:19:45Z</updated>
<author>
<name>Baptiste Daroussin</name>
<email>bapt@FreeBSD.org</email>
</author>
<published>2014-10-21T10:19:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=726f4cd5807a07fba79130246b91d296397f4a9b'/>
<id>urn:sha1:726f4cd5807a07fba79130246b91d296397f4a9b</id>
<content type='text'>
It is required for use with newer g++49

Differential Revision:	https://reviews.freebsd.org/D982
Reviewed by:	theraven
Approved by:	theraven
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>Add missing C++11 typeinfos to the libcxxrt version script.</title>
<updated>2014-01-11T19:02:17Z</updated>
<author>
<name>David Chisnall</name>
<email>theraven@FreeBSD.org</email>
</author>
<published>2014-01-11T19:02:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e23d53c461b2bba4e7639f0604cc456757ee653a'/>
<id>urn:sha1:e23d53c461b2bba4e7639f0604cc456757ee653a</id>
<content type='text'>
PR:		185663
MFC after:	1 week
</content>
</entry>
<entry>
<title>Add several missing symbols to libcxxrt's symbol version map, and remove</title>
<updated>2013-02-03T20:40:41Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2013-02-03T20:40:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ccf9b6362b093b651693488103e6c167009be0e1'/>
<id>urn:sha1:ccf9b6362b093b651693488103e6c167009be0e1</id>
<content type='text'>
a few duplicates.  This should fix building world with -stdlib=libc++
after r246028.

Submitted by:	Yamaya Takashi &lt;yamayan@kbh.biglobe.ne.jp&gt;
MFC after:	1 week
X-MFC-With:	r246028
</content>
</entry>
<entry>
<title>Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt</title>
<updated>2013-01-28T11:12:49Z</updated>
<author>
<name>David Chisnall</name>
<email>theraven@FreeBSD.org</email>
</author>
<published>2013-01-28T11:12:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4792733bb8002a870fe0e977375c29995a2a0256'/>
<id>urn:sha1:4792733bb8002a870fe0e977375c29995a2a0256</id>
<content type='text'>
that were causing the runtime and STL libraries to see different versions of
various classes and functions when libstdc++ is used as a filter.

Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in
-STABLE for testing and is not used by anything unless explicitly enabled by
the end user.  No default compiler configurations use it.

libc++ will need to be recompiled after this change.  make buildworld will do
this automatically, but make in lib/libc++ will not necessarily work unless the
new libcxxrt is installed first.

PR:		kern/171610, stand/175453
Reviewed by:	kib
MFC after:	1 week
</content>
</entry>
<entry>
<title>Clean up some symbol versions for libsupc++ / libcxxrt.</title>
<updated>2012-06-11T15:40:57Z</updated>
<author>
<name>David Chisnall</name>
<email>theraven@FreeBSD.org</email>
</author>
<published>2012-06-11T15:40:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe132392879721115289dcfdcbd5fbee59da35b4'/>
<id>urn:sha1:fe132392879721115289dcfdcbd5fbee59da35b4</id>
<content type='text'>
MFC after:	1 week
Reviewed by:	kan
</content>
</entry>
</feed>
