#
7819a911 |
|
20-Mar-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libcxxrt commit f2e55091e2e878386c9f7974d4922bbdc4faed84 Fix unlock in two-word version and add missing comment. Fixes #15 Fixes #16 This should fix the hangs in __cxa_guard_acquire() reported on i386 (and possibly other 32-bit platforms). Obtained from: https://github.com/libcxxrt/libcxxrt/commit/f2e5509 Fixes: 56aaed388b0a MFC after: 2 weeks
|
#
bfffb66e |
|
20-Mar-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Reapply libcxxrt atomics cleanup commit, preparing for upstream fix This reapplies upstream commit fd484be, as there is a follow-up fix for the possible hangs in __cxa_guard_acquire() on i386: Atomics cleanup (#11) We need to test exception specifiers but they're gone in C++17 so compile the tests with an older version of the standard. Rewrite the guard logic to be more idiomatic C++ and more comprehensible and make sure that atomics are used where necessary. Obtained from: https://github.com/libcxxrt/libcxxrt/commit/fd484be Fixes: 56aaed388b0a MFC after: 2 weeks
|
#
25482379 |
|
19-Mar-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Revert upstream libcxxrt commit which can cause hangs on i386 This reverts upstream commit fd484be: Atomics cleanup (#11) We need to test exception specifiers but they're gone in C++17 so compile the tests with an older version of the standard. Rewrite the guard logic to be more idiomatic C++ and more comprehensible and make sure that atomics are used where necessary. It looks like there are some corner cases in the i386 and/or 32-bit atomics handling, which can make __cxa_guard_acquire() hang in certain situations. Reported by: antoine Obtained from: https://github.com/libcxxrt/libcxxrt/commit/fd484be Fixes: 56aaed388b0a MFC after: 2 weeks
|
#
56aaed38 |
|
09-Mar-2022 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libcxxrt master fd484be8d1e94a1fcf6bc5c67e5c07b65ada19b6 Interesting fixes: 47661d0 Match libc++abi/libsupc++ when demangling array types e44a05c Fix unitialized variable in __cxa_demangle_gnu3 after #6 (#8) 5088b05 Remove some code duplication. fd484be Atomics cleanup (#11) MFC after: 2 weeks
|
#
35b9ea3d |
|
26-Mar-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Compile libcxxrt as C++11, since it is only really used in combination with libc++, which is also C++11. Also change one _Static_assert (which is really C11) back into static_assert, like upstream. This should help when compiling libcxxrt with newer versions of gcc, which refuse to recognize any form of static assertions, if not compiling for C++11 or higher. While here, add -nostdinc++ to CFLAGS, to prevent picking up any C++ headers outside the source tree. |
#
f2dc4184 |
|
30-Dec-2014 |
Dimitry Andric <dim@FreeBSD.org> |
Import libcxxrt master 00bc29eb6513624824a6d7db2ebc768a4216a604. Interesting fixes: 76584a0 Reorganize code to use only 32bit atomic ops for 32bit platforms 30d2ae5 Implement __cxa_throw_bad_array_new_length Reviewed by: bapt MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D1390
|
#
4bab9fd9 |
|
10-Jul-2013 |
David Chisnall <theraven@FreeBSD.org> |
Import new libcxxrt / libc++. This brings some bug fixes, including a potential race condition for static initialisers.
|
#
94e3ee44 |
|
13-Mar-2012 |
David Chisnall <theraven@FreeBSD.org> |
Import new versions of libcxxrt and libc++. Please tests any C++ code you care about with -stdlib=libc++! Approved by: dim (mentor)
|
#
7a984708 |
|
25-Nov-2011 |
David Chisnall <theraven@FreeBSD.org> |
Import libc++ / libcxxrt into base. Not build by default yet (use MK_LIBCPLUSPLUS=yes to enable). This is a work-in-progress. It works for me, but is not guaranteed to work for anyone else and may eat your dog. To build C++ using libc++, add -stdlib=libc++ to your CXX and LD flags. Bug reports welcome, bug fixes even more welcome... Approved by: dim (mentor)
|
#
35b9ea3d |
|
26-Mar-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Compile libcxxrt as C++11, since it is only really used in combination with libc++, which is also C++11. Also change one _Static_assert (which is really C11) back into static_assert, like upstream. This should help when compiling libcxxrt with newer versions of gcc, which refuse to recognize any form of static assertions, if not compiling for C++11 or higher. While here, add -nostdinc++ to CFLAGS, to prevent picking up any C++ headers outside the source tree.
|