History log of /freebsd-current/contrib/libcxxrt/cxxabi.h
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 3fb2e045 26-Jan-2024 Dimitry Andric <dim@FreeBSD.org>

Tentatively apply https://github.com/libcxxrt/libcxxrt/pull/27

This marks __cxa_allocate_exception, __cxa_free_exception and
__cxa_init_primary_exception noexcept, to ensure compatibility with
libc++'s declarations.

PR: 276104
MFC after: 1 month


# ecf41062 25-Jan-2024 Dimitry Andric <dim@FreeBSD.org>

Merge libcxxrt master 03c83f5a57be8c5b1a29a68de5638744f17d28ba

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


# 434215c2 19-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge libcxxrt commit 45ca8b1942090226ba9368caeeeabc0d4ee41ad6

Insert padding in __cxa_exception struct for compatibility

Similar to https://github.com/llvm/llvm-project/commit/f2a436058fcb, the
addition of __attribute__((__aligned__)) to _Unwind_Exception (in commit
b9616964) causes implicit padding to be inserted before the unwindHeader
field in __cxa_exception.

Applications attempt to get at the earlier fields in __cxa_exception, so
preserve the same negative offsets in __cxa_exception, by moving the
padding to the beginning of the struct.

The assumption here is that if the ABI is not aware of the padding
before unwindHeader and put the referenceCount/primaryException in
there, no padding should exist before unwindHeader.

This should make libreoffice's custom exception handling mechanisms work
correctly, even if it was built against an older cxxabi.h/unwind.h pair.

PR: 263370
MFC after: 3 days

# 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


# f18dc692 07-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Pull in upstream libcxxrt commit 8006101, which makes its cxxabi.h file
compilable just by itself.

PR: kern/184019
MFC after: 3 days

# 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)


# 434215c2 19-Apr-2022 Dimitry Andric <dim@FreeBSD.org>

Merge libcxxrt commit 45ca8b1942090226ba9368caeeeabc0d4ee41ad6

Insert padding in __cxa_exception struct for compatibility

Similar to https://github.com/llvm/llvm-project/commit/f2a436058fcb, the
addition of __attribute__((__aligned__)) to _Unwind_Exception (in commit
b9616964) causes implicit padding to be inserted before the unwindHeader
field in __cxa_exception.

Applications attempt to get at the earlier fields in __cxa_exception, so
preserve the same negative offsets in __cxa_exception, by moving the
padding to the beginning of the struct.

The assumption here is that if the ABI is not aware of the padding
before unwindHeader and put the referenceCount/primaryException in
there, no padding should exist before unwindHeader.

This should make libreoffice's custom exception handling mechanisms work
correctly, even if it was built against an older cxxabi.h/unwind.h pair.

PR: 263370
MFC after: 3 days


# f18dc692 07-Feb-2014 Dimitry Andric <dim@FreeBSD.org>

Pull in upstream libcxxrt commit 8006101, which makes its cxxabi.h file
compilable just by itself.

PR: kern/184019
MFC after: 3 days