• Home
  • History
  • Annotate
  • only in /external/libcxxabi/include/
History log of /external/libcxxabi/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
605f03260ce43ec564cd0ec80ea21514e82eeeb3 29-Aug-2014 Dan Albert <danalbert@google.com> Make _Unwind_Backtrace() work on ARM.

Summary: Since the personality functions do the actual unwinding on ARM,
and will also stop unwinding when they encounter a handler, we invoke
_Unwind_VRS_Interpret() directly form _Unwind_Backtrace().

To simplify, the logic for decoding an EHT is moved out of
unwindOneFrame() and into its own function, decode_eht_entry(). Unlike
unwindOneFrame(), which could only handle ARM's compact personality
function entries (section 6.3) decode_eht_entry() can handle the generic
entries (section 6.2).

Reviewers: jroelofs

Reviewed By: jroelofs

Subscribers: piman, aemerson, cfe-commits

Differential Revision: http://reviews.llvm.org/D5112

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@216730 91177308-0d34-0410-b5e6-96231b3b80d8

(cherry picked from commit 14690900fcd84fbf82767890f4d7a5673654fe38)
Bug: 16874447
Change-Id: Ia52c7e2a0b7167863fea29cbf4b2d3c5d58053b2
nwind.h
e45805f0d3f8dafef1297cc7dc49e610713f023b 03-Jul-2014 Dan Albert <danalbert@google.com> Merge to upstream r212232.

Includes ARM EHABI unwinder.

Change-Id: I7e40c761abc0a4c67f11b8e9f85efefa6ba292ba
xxabi.h
ibunwind.h
ach-o/compact_unwind_encoding.h
nwind.h
c2e9313c38fdd56ecd50d7cd21e8a14d8f16a1b7 23-Apr-2014 Dan Albert <danalbert@google.com> Fixes incorrect #ifs for SJ/LJ exceptions

The was working because, given __APPLE__, _LIBUNWIND_BUILD_SJLJ_APIS was set to
__arm__, but other ARM targets not using SJ/LJ will fail to compile.

Change-Id: Id774f1c6aa20661e289dbe18145532dbba6791d7
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
nwind.h
e085735cbedc82b1064f05ff796e32e906a95036 08-Apr-2014 Dan Albert <danalbert@google.com> Gets libcxxabi building for Android

Fixes a few configuration issues in libcxxabi and adds an Android makefile.

Change-Id: I247372d87caabe0310bedc4540b68ab2ed1986c1
nwind.h
448bba28b48c9503e6a92d894e31c613a87233b8 30-Jan-2014 Nick Kledzik <kledzik@apple.com> [libunwind] remove stray conditional

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200432 91177308-0d34-0410-b5e6-96231b3b80d8
ach-o/compact_unwind_encoding.h
5ff06b0156f5820a87b4dd90bcd06f8ed41af8cc 18-Dec-2013 Nico Weber <nicolasweber@gmx.de> Add a first cut at a Registers_arm class, to be used for 32bit arm EHABI unwinding.



git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@197591 91177308-0d34-0410-b5e6-96231b3b80d8
ibunwind.h
29180116e559ead2486c5cf6b4fefe8a6f6443fc 01-Nov-2013 Nick Kledzik <kledzik@apple.com> Rename LIBUNWIND_AVAIL to LIBUNWIND_UNAVAIL so as to not conflict with other (different) LIBUNWIND_AVAIL define

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@193839 91177308-0d34-0410-b5e6-96231b3b80d8
nwind.h
839f7f23c0a652e2b799345fc3112ae0c5a03098 17-Oct-2013 Saleem Abdulrasool <compnerd@compnerd.org> unwinder: conditionalise availability

__attribute__ (( unavailable )) is for Apple specific builds. Create a macro
to conditionalise the usage of the macro. This is to aid in porting the
unwinder to other platforms.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192868 91177308-0d34-0410-b5e6-96231b3b80d8
nwind.h
b78da9875b6e35187b5d584746c78faaf3230a3d 07-Oct-2013 Nick Kledzik <kledzik@apple.com> libcxxabi contains the runtime support for C++. But, as some folks have
realized, it is not complete. It relies on some _Unwind_* functions to be
supplied by the OS. That means it cannot be ported to platforms that don’t
already have an unwinder.

Years ago Apple wrote its own unwinder for MacOSX and iOS. To make libcxxabi
complete, Apple has decided the source code for its unwinder can be contributed
to the open source LLVM libcxxabi project, with a dual licensed under LLVM
and MIT license.

So, I’ve spent some time cleaning up the sources to make them conform with
LLVM style and to conditionalize the sources in a way that should make it
easier to port to other platforms. The sources are in a separate "Unwind"
directory under "src" in libcxxabi.

Background:
Most architectures now use "zero cost" exceptions for C++. The zero cost means
there are no extra instructions executed if no exceptions are thrown. But if
an exception is thrown, the runtime must consult side tables and figure out how
to restore registers and "unwind" from the current stack frame to the catch
clause. That ability to modify the stack frames and cause the thread to resume
in a catch clause with all registers restored properly is the main purpose
of the unwinder.

This unwinder has two levels of API. The high level APIs are the _Unwind_*
functions which the cxa_* exception functions in libcxxabi require. The low
level APIs are the unw_* functions which are an interface defined by the the
old HP libunwind project (which shares no code with this unwinder).


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@192136 91177308-0d34-0410-b5e6-96231b3b80d8
ibunwind.h
ach-o/compact_unwind_encoding.h
nwind.h
c62cbea03e7fb9df073bc965d3f7fc5ca5a39438 17-Jun-2013 Howard Hinnant <hhinnant@apple.com> Tweaks/cleanups provided by Matthew Dempsky

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184118 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
5dd173b3792e868a7ebfa699d156f24075eafc01 10-Apr-2013 Howard Hinnant <hhinnant@apple.com> Add capability to demangle invocation functions for ObjC blocks.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@179208 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
0f80bb79c0181c706cf6acce44f854e96ecaf755 19-Mar-2012 Howard Hinnant <hhinnant@apple.com> I've moved __cxa_terminate_handler, __cxa_unexpected_handler and __cxa_new_handler from the public header cxxabi.h into the private header cxa_handlers.hpp. During this move I've also moved them from namespace __cxxabiapple into the global namespace. They are, and have always been extern C and so the namespace (or lack of it) does not affect their ABI. In general external clients should not reference these symbols. They are atomic variables and will be changing into C++11 atomic variables in the future. However for those few clients who really need access to them, their name, mangling, size, alignment and layout will remain stable. You just may need your own declaration of them. Include guards have been added to the private header cxa_exception.hpp. The private header cxa_default_handlers.hpp has been removed and the default handlers are now file-static. Include guards have been added to the private header cxa_handlers.hpp.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@153039 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
fcd21a1f59d1bc797464ca7f3cfe80281756031f 14-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable __arm__ on apple

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152735 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
fdac5f9274eb4854820f45e7991099706a00504b 23-Feb-2012 Howard Hinnant <hhinnant@apple.com> I had originally made the handler function pointers a static internal detail, not accessible to the outside world. I did this because they must be accessed in a thread-safe manner, and the library provides thread-safe getters and setters for these. However I am at least temporarily making them public and giving them the Apple-extension names. In the future these may disappear again, and I think that would probably be a good idea.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151256 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
3759e4591ba1e1fe07e097b5e0e031fb0a0de227 17-Feb-2012 Howard Hinnant <hhinnant@apple.com> Add (reluctantly) a namespace alias for __cxxabiv1.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@150828 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
0240685ed6756ee0eed7c76e37eb2abdc01dcf82 02-Feb-2012 Howard Hinnant <hhinnant@apple.com> Work on restricting symbol visibility.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149633 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
53cf764ab4a40b1e445e9e20219f950d621fcf53 02-Feb-2012 Howard Hinnant <hhinnant@apple.com> Add version number to this library so we can recognize when we're using it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149632 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
ca00a4e83ed1adcdc6f34ae25c5e705315168a26 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Put throw() clauses back on these functions in cxxabi.h. This header must be C++03 compatible and these throw specs are consistent with the current cxxabi.h that Apple ships.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149249 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
f81cdffb22a1f20a3adadccbaba60513aa29cb0d 25-Jan-2012 Howard Hinnant <hhinnant@apple.com> By changing all of the throw() specs to noexcept I've been able to compile and link all of the source files into a dylib. Prior to this substitution the changed functions were calling __cxa_call_unexpected which isn't implemented yet. However in none of these cases do we actaully want __cxa_call_unexpected to be called. Primative buildit script added.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148880 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
1b0aed9312dca7ffd27522864b9101ca816112b1 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> Added __cxa_increment_exception_refcount, __cxa_decrement_exception_refcount, __cxa_current_primary_exception, __cxa_rethrow_primary_exception

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147106 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
ab87dcf97e2bba2b2b9aadc0877ebd3b8d7cab42 15-Dec-2011 Howard Hinnant <hhinnant@apple.com> Fixed several bugs, implemented support for vector types, and cleaned out dead code.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146677 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
bb8d048ac08a960d5f3b3c9bc02774bb23665e3a 08-Aug-2011 Howard Hinnant <hhinnant@apple.com> Silence some -Wall warnings pointed out by Marshall Clow

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137047 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
15a6928f197d9bdce3284fb1588820989abdc1e5 02-Aug-2011 Nick Kledzik <kledzik@apple.com> make cxxabi.h safe for C code to include

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136682 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
f72cdd5b49372fa50dbc79d712615b4b35b00796 02-Aug-2011 Nick Kledzik <kledzik@apple.com> make LIBCXXABI_NORETURN be the right attribute

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@136680 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
703d148d5994d7a1cd189dc57acc7704f48fbd13 20-Jul-2011 Marshall Clow <mclow@qualcomm.com> Fixed struct/class mismatch for std::type_info and added NORETURN flags

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135584 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
889b02d72d523ba716ce08403c284e60f0a9431d 22-Jun-2011 Howard Hinnant <hhinnant@apple.com> In cxa_demangle.cpp, rewrite __parse_unresolved_name to reflect updated understanding and sync with updated clang mangling. Also fix think-o in __parse_encoding enabling the parsing of trailing .eh and .b.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@133632 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
25f180797ba296e6cd3aa45e1fef9321b828301a 07-Jun-2011 Howard Hinnant <hhinnant@apple.com> tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132729 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
d8cfd659b70bcf65a9c810ebe525632af38726f0 07-Jun-2011 Nick Lewycky <nicholas@mxc.ca> Add support for the ARM EABI variant of the __cxa_guard methods, controlled by
the LIBCXXABI_ARMEABI macro.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132723 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
4c2acbcfc928a7d4f18b2c9202288abdf0131219 03-Jun-2011 Marshall Clow <mclow@qualcomm.com> Added __cxa_bad_cast and __cxa_bad_typeid and placeholder NORETURN macro

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132524 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
92827189cbb1e63dfebf0a46aac4372c3089ff11 25-May-2011 Howard Hinnant <hhinnant@apple.com> Introduce cxa_virtual.cpp and cxa_guard.cpp. Contributed by Nick Lewycky, Howard Hinnant and John McCall

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@132009 91177308-0d34-0410-b5e6-96231b3b80d8
xxabi.h
d213ffdf3befead3b8f5a0ba12ce1c2d9949525b 05-May-2011 Howard Hinnant <hhinnant@apple.com> initial import

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@130921 91177308-0d34-0410-b5e6-96231b3b80d8
xa_demangle.h
xxabi.h