| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Add _US_ACTION_MASK to libcxxrt's arm-specific unwind header. This
value is used in newer versions of compiler-rt.
|
|
|
|
|
|
|
|
|
| |
'wchar_t' is 7 characters long, not 6. r303297 (MFC'd in r303398) fixed
this in libelftc, but not the second copy of this file that we have in
libcxxrt.
PR: 208661
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Approved by: re (gjb)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This has also been submitted upstream.
|
|
|
|
|
|
|
|
|
|
|
| |
Note, this has been broken since import in r227825.
PR: https://github.com/pathscale/libcxxrt/issues/29
Reviewed by: emaste (earlier version), kan (informally)
Obtained from: Anton Rang
Relnotes: yes
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3733
|
|
|
|
| |
The typeinfo file no longer exists upstream.
|
|
|
|
|
|
|
|
| |
This includes a number of demangler fixes obtained from upstream
ELF Tool Chain.
PR: 200913
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
the copy in libcxxrt for it, fix the arm-specific header to define the
_Unwind_Action type.
Submitted by: andrew
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
| |
architectures with strict alignment, by using memcpy() instead of
directly reading fields.
Reported by: Daisuke Aoyama <aoyama@peach.ne.jp>
Reviewed by: imp, bapt
Tested by: bapt
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D1967
|
|
|
|
|
|
|
|
| |
Interesting fixes:
1cb607e Correct gcc version check for __cxa_begin_catch() declaration
with or without throw()
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
| |
also because it is the wrong approach: comparing typeinfo names deeply
causes trouble if two loaded DSOs use independent types of the same
name.
In addition, this particular change was never merged to FreeBSD 10.x and
9.x, so let's get rid of it before it ends up in an 11.x release.
Discussed with: theraven, joerg@netbsd
|
|
|
|
|
|
|
| |
temporary fix to solve a conflict with an older version of libc++, and
it is no longer relevant.
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
This is a temporary fix
|
|
|
|
|
|
|
|
|
| |
It is required for use with newer g++49
Differential Revision: https://reviews.freebsd.org/D982
Reviewed by: theraven
Approved by: theraven
MFC after: 3 weeks
|
|
|
|
|
|
|
| |
compilable just by itself.
PR: kern/184019
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
| |
runtime by the dynamic linker, check for their equality in libcxxrt by
not only comparing the typeinfo's name pointers, but also comparing the
full names, if necessary. (This is similar to what GNU libstdc++ does
in its default configuration.) The 'deep' check can be turned off again
by defining LIBCXXRT_MERGED_TYPEINFO, and recompiling libcxxrt.
Reviewed by: theraven
MFC after: 3 days
|
|
|
|
|
| |
Approved by: re (gjb)
MFC after: 1 week
|
|
|
|
| |
libgcc_s. andrew@ has patches to add it, so this can be reverted and sync'd with upstream later.
|
|
|
|
| |
compilers that know about SSE. Code left over from old header that thought that 64 bits was the maximum alignment that anything would ever need...
|
|
|
|
| |
potential race condition for static initialisers.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
| |
an exception when you haven't caught one. This is largely a cosmetic fix, as
(unless you have a very unusual terminate handler installed) it will print a
nice error and then abort, rather than just aborting.
MFC after: 7 days
|
|
|
|
| |
Pointy hat to: theraven
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
the unified exception model for Objective-C++.
Approved by: dim (mentor)
|
|
|
|
|
|
| |
Please tests any C++ code you care about with -stdlib=libc++!
Approved by: dim (mentor)
|
|
|
|
|
|
| |
Also add the license from upstream to contrib.
Approved by: dim (mentor)
|
|
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)
|