<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libcxxrt, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2025-04-11T13:53:50Z</updated>
<entry>
<title>src: Use gnu++17 as the default C++ standard</title>
<updated>2025-04-11T13:53:50Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2025-04-11T13:53:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6527682ab7058e5023a2a6dea01d51c15dca701f'/>
<id>urn:sha1:6527682ab7058e5023a2a6dea01d51c15dca701f</id>
<content type='text'>
Previously the compiler's default C++ standard was used unlike C where
bsd.sys.mk explicitly sets a default language version.  Setting an
explicit default version will give a more uniform experience across
different compilers and compiler versions.

gnu++17 was chosen to match the default C standard.  It is well
supported by a wide range of clang (5+) and GCC (9+) versions.

gnu++17 is also the default C++ standard in recent versions of clang
(16+) and GCC (11+).  As a result, many of the explicit CXXSTD
settings in Makefiles had the effect of lowering the C++ standard
instead of raising it as was originally intended and are removed.

Note that the remaining explicit CXXSTD settings for atf and liblutok
explicitly lower the standard to C++11 due to use of the deprecated
auto_ptr&lt;&gt; template which is removed in later versions.

Reviewed by:	imp, asomers, dim, emaste
Differential Revision:	https://reviews.freebsd.org/D49223
</content>
</entry>
<entry>
<title>libcxxrt: Add a stub implementation of __cxa_call_terminate</title>
<updated>2024-08-21T17:37:48Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2024-08-21T17:37:48Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=297a9e552b9a5adf07d195eae9649b0758f395af'/>
<id>urn:sha1:297a9e552b9a5adf07d195eae9649b0758f395af</id>
<content type='text'>
This function is called by GCC 14 if a destructor invoked during
exception unwinding throws an exception.

Reviewed by:	emaste
Obtained from:	libcxxrt commit 391a3dcc1054e18c2f0dff4e14d6d79ac95399d7
Differential Revision:	https://reviews.freebsd.org/D46004
</content>
</entry>
<entry>
<title>libcxxrt: allow build with gcc13 and --no-undefined-version</title>
<updated>2024-05-17T20:50:57Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-05-17T20:22:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1062db30700230a26fdc90088a4e2bdb6b6e4d6d'/>
<id>urn:sha1:1062db30700230a26fdc90088a4e2bdb6b6e4d6d</id>
<content type='text'>
GCC 13 supports _Float16 and __int128 on fewer architectures than clang
and thus libcxxrt compiled with gcc13 is sometimes missing related
symbols.  Hack around this by explicitly appending --undefined-version
to LDFLAGS in problematic cases.

Reviewed by:	theraven, dim
Differential Revision:	https://reviews.freebsd.org/D45233
</content>
</entry>
<entry>
<title>libcxxrt: align more with libc/Makefile</title>
<updated>2024-04-22T20:28:51Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-04-22T18:37:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6077246e88b0ef6f90cbee0e580b42730a641f0f'/>
<id>urn:sha1:6077246e88b0ef6f90cbee0e580b42730a641f0f</id>
<content type='text'>
Use src.opts.mk instead of bsd.own.mk and define PACKAGE first.

Fixes:		da77a1b4f0dff libcxxrt: don't export nonexistant symbols
</content>
</entry>
<entry>
<title>libcxxrt: define SHLIBDIR before including bsd.own.mk</title>
<updated>2024-04-22T18:46:45Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2024-04-22T18:43:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=911a6479e18bcaa7010c7328f491ea338c5f381c'/>
<id>urn:sha1:911a6479e18bcaa7010c7328f491ea338c5f381c</id>
<content type='text'>
Otherwise bsd.own.mk overrides it, causing libcxxrt.so.1 to be
erroneously installed into /usr/lib.

Also add an ObsoleteFiles.inc entry, for removing the bad copy.

Reported by:	Josef 'Jeff' Sipek &lt;jeffpc@josefsipek.net&gt;
Fixes:		da77a1b4f0df
</content>
</entry>
<entry>
<title>libcxxrt: don't export nonexistant symbols</title>
<updated>2024-04-16T21:14:21Z</updated>
<author>
<name>Brooks Davis</name>
<email>brooks@FreeBSD.org</email>
</author>
<published>2024-04-16T17:04:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=da77a1b4f0dffcafee3675375ec71e9ab8319daa'/>
<id>urn:sha1:da77a1b4f0dffcafee3675375ec71e9ab8319daa</id>
<content type='text'>
Remove version entries that we don't build.

Add an arm specific Version.map and for other targets run the files
through sed to handle int vs long in new and delete.

Ideally we'd use the SYMBOL_MAPS functionality to preprocess with cpp,
but it doesn't currently handle C++ symbols so be annoyingly duplicative
for now.

Differential Revision:	https://reviews.freebsd.org/D44325
</content>
</entry>
<entry>
<title>Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba</title>
<updated>2024-01-25T17:43:23Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2024-01-25T17:41:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ecf4106237505fa9459ae871793b754334989c17'/>
<id>urn:sha1:ecf4106237505fa9459ae871793b754334989c17</id>
<content type='text'>
Interesting fixes (* were already cherry-picked):
- 03c83f5 add __cxa_init_primary_exception (#23)
* 5d8a158 Fix two bugs in __cxa_end_cleanup()
* b00c6c5 Insert padding in __cxa_dependent_exception
* 45ca8b1 Insert padding in __cxa_exception struct for compatibility
* f2e5509 Fix unlock in two-word version and add missing comment.
- 6229590 Add an option for disabling emergency buffers. (#14)

MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line sh pattern</title>
<updated>2023-08-16T17:55:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf'/>
<id>urn:sha1:d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</id>
<content type='text'>
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>Sort SRCS in libcxxrt's Makefile, and use += to list sources</title>
<updated>2022-01-22T20:08:55Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2022-01-22T20:08:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c3df3660072cd50b44aa72cbe23b0ec3341aa26'/>
<id>urn:sha1:3c3df3660072cd50b44aa72cbe23b0ec3341aa26</id>
<content type='text'>
No functional change intended.

MFC after:	3 days
</content>
</entry>
<entry>
<title>Only set WARNS if not defined</title>
<updated>2020-09-11T13:28:37Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-09-11T13:28:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ecebb3cc1d2d074defc302d8ae6820bb6b20d4fe'/>
<id>urn:sha1:ecebb3cc1d2d074defc302d8ae6820bb6b20d4fe</id>
<content type='text'>
This would allow interested parties to do experimental runs with an
environment set appropriately to raise all the warnings throughout the
build; e.g. env WARNS=6 NO_WERROR=yes buildworld.

Not currently touching the numerous instances in ^/tools.

MFC after:	1 week
</content>
</entry>
</feed>
