History log of /freebsd-10-stable/contrib/libcxxrt/memory.cc
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 315965 25-Mar-2017 dim

Synchronize libcxxrt in stable/10 with stable/11.

MFC r284553 (by emaste):

Update libcxxrt upgrade instructions

The typeinfo file no longer exists upstream.

MFC r297299:

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.

MFC r299144:

Import libcxxrt master 516a65c109eb0a01e5e95fbef455eb3215135cef.

Interesting fixes:
3adaa2e Fix _Unwind_Exception cleanup functions
286776c Check exception cleanup function ptr before calling
edda626 Correct exception specifications on new and delete operators

MFC r303157 (by emaste):

libcxxrt: add padding in __cxa_allocate_* to fix alignment

The addition of the referenceCount to __cxa_allocate_exception put the
unwindHeader at offset 0x58 in __cxa_exception, but it requires 16-byte
alignment. In order to avoid changing the current __cxa_exception ABI
(and thus breaking its consumers), add explicit padding in the
allocation routines (and account for it when freeing).

This is intended as a lower-risk change for FreeBSD 11. A "more correct"
fix should be prepared for upstream and -CURRENT.

Reviewed by: dim
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D7271

MFC r305396:

Add _US_ACTION_MASK to libcxxrt's arm-specific unwind header. This
value is used in newer versions of compiler-rt.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 253159 10-Jul-2013 theraven

Import new libcxxrt / libc++. This brings some bug fixes, including a potential race condition for static initialisers.


# 245304 11-Jan-2013 theraven

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.


# 232950 13-Mar-2012 theraven

Import new versions of libcxxrt and libc++.
Please tests any C++ code you care about with -stdlib=libc++!

Approved by: dim (mentor)


# 228004 26-Nov-2011 theraven

Update libcxxrt to remove the pthread dependency.

Also add the license from upstream to contrib.

Approved by: dim (mentor)


# 227983 25-Nov-2011 theraven

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)


# 227973 25-Nov-2011 theraven

libcxxrt version snapshot created.

Approved by: dim (mentor)


# 227825 22-Nov-2011 theraven

Import libcxxrt / libc++ into a vendor branch.

Approved by: dim (mentor)