#
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
|
#
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.
|
#
d9e22925 |
|
27-Apr-2013 |
Dimitry Andric <dim@FreeBSD.org> |
Merge libcxxrt c812a07cd2f95c1403baf0bbe0366e7618d1d6d3: * Don't call the _fast version of the TLS accessor in terminate() or unexpected(). 1) TLS may not have been set up yet. 2) When we're in one of these functions, Really Bad Stuff has happened and potentially saving a few cycles really isn't important. * Merge in fixes from FreeBSD trunk to make atomics work with recent clang. MFC after: 1 week
|
#
f795bc7c |
|
12-Jan-2013 |
David Chisnall <theraven@FreeBSD.org> |
Fix libcxxrt / libc++ build with the clang in head. Pointy hat to: theraven |
#
f7cb1657 |
|
11-Jan-2013 |
David Chisnall <theraven@FreeBSD.org> |
Merge new version of libcxxrt. This brings in three fixes: - Don't treat pointers to members as pointers in catch blocks (they're usually fat pointers). - Correctly catch foreign exceptions in catchalls. - Ensure that a happens-before relationship is established when setting terminate handlers in one thread and calling them in another.
|
#
f795bc7c |
|
12-Jan-2013 |
David Chisnall <theraven@FreeBSD.org> |
Fix libcxxrt / libc++ build with the clang in head. Pointy hat to: theraven
|