hanchenye-llvm-project/libcxxabi/src
Logan Chien 6b2c971524 Force unwind frame with user-defined personality.
If libcxxabi is compiled as a shared library, and the
executable references the user-defined personality routines
(e.g.  __gxx_personality_v0), then the pointer comparison in
Unwind-EHABI.cpp won't work.  This is due to the fact that
the PREL31 will point to the PLT stubs for the personality
routines (in the executable), while the __gxx_personality_v0
symbol reference is yet another (different) PLT stub (in the
libunwind.)

This will cause _Unwind_Backtrace() stops to unwind the frame
whenever it reaches __gxx_personality_v0().  This CL fix the
problem by calling the user-defined personality routines
with an undocumented API for force unwinding.

llvm-svn: 226822
2015-01-22 13:38:11 +00:00
..
Unwind Force unwind frame with user-defined personality. 2015-01-22 13:38:11 +00:00
CMakeLists.txt [cmake/multilib] Teach libc++abi's CMake build to support multilib 2014-12-29 12:22:04 +00:00
abort_message.cpp Fix abort_message.cpp for the NDK. 2015-01-16 20:00:49 +00:00
abort_message.h
config.h s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx 2014-09-05 17:46:40 +00:00
cxa_aux_runtime.cpp Adding ABI support for __cxa_throw_bad_array_new_length. 2014-09-11 17:26:43 +00:00
cxa_default_handlers.cpp Use __atomic_exchange_n instead of Clang's __sync_swap 2014-10-03 20:03:47 +00:00
cxa_demangle.cpp Minor libc++abi changes to make things build better with gcc. 2014-06-25 23:55:37 +00:00
cxa_exception.cpp s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx 2014-09-05 17:46:40 +00:00
cxa_exception.hpp Update libc++abi to use the ARM EHABI unwinder from its libunwind. 2014-06-25 23:52:07 +00:00
cxa_exception_storage.cpp s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx 2014-09-05 17:46:40 +00:00
cxa_guard.cpp s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx 2014-09-05 17:46:40 +00:00
cxa_handlers.cpp Use __atomic_exchange_n instead of Clang's __sync_swap 2014-10-03 20:03:47 +00:00
cxa_handlers.hpp Bruce Mitchener: Typo fixes. 2013-02-15 15:48:49 +00:00
cxa_new_delete.cpp If libc++ has not declared bad_array_length, then declare it here just so that it gets into the binary. 2013-11-07 17:16:37 +00:00
cxa_personality.cpp Fix _Unwind_Backtrace for libc++abi built with libgcc. 2015-01-22 13:28:39 +00:00
cxa_thread_atexit.cpp [libcxxabi] Add __cxa_thread_atexit for TLS support on Linux. 2014-12-18 00:03:57 +00:00
cxa_unexpected.cpp
cxa_vector.cpp [libcxxabi] Fix broken codesourcery.com links in comments 2014-02-12 04:49:09 +00:00
cxa_virtual.cpp
exception.cpp
fallback_malloc.ipp s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx 2014-09-05 17:46:40 +00:00
private_typeinfo.cpp [libcxxabi] Delay adjustment of pointer to prevent referencing invalid memory. 2014-11-24 18:46:37 +00:00
private_typeinfo.h
stdexcept.cpp Make libc++abi use the implementation of __numstr from libc++. No functionality change, just removal of duplicated code. 2014-05-07 20:17:41 +00:00
typeinfo.cpp