Fix unwinder to build for iOS

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199859 91177308-0d34-0410-b5e6-96231b3b80d8
Don't redefine static_assert()

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199860 91177308-0d34-0410-b5e6-96231b3b80d8
Add missing alignment directives in assembly

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199915 91177308-0d34-0410-b5e6-96231b3b80d8
Use .p2align instead of .align

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@199941 91177308-0d34-0410-b5e6-96231b3b80d8
[libunwind] remove stray conditional

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200432 91177308-0d34-0410-b5e6-96231b3b80d8
Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, too

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200864 91177308-0d34-0410-b5e6-96231b3b80d8
Fix PR17221 - can't catch virtual base classes when throwing derived NULL pointers. Specifically, libc++abi would crash when you tried it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@200904 91177308-0d34-0410-b5e6-96231b3b80d8
[libcxxabi] Fix broken codesourcery.com links in comments

review: http://llvm-reviews.chandlerc.com/D2718


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201208 91177308-0d34-0410-b5e6-96231b3b80d8
Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@201533 91177308-0d34-0410-b5e6-96231b3b80d8
0 is a valid LSDA encoding and can be seen in statically linked
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that
value to decide whether a value should be decoded.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@203626 91177308-0d34-0410-b5e6-96231b3b80d8
Fix DW_CFA_GNU_args_size handling. The primary architecture using this
opcode is VAX. A function call pushes the number of arguments given onto
the stack and "ret" will pop it automatically. The FDE of the caller
contains the amount of stack space used for arguments (and possibly
extra padding), so unwinding has to compensate for this when "returning"
from a function. This is exactly the case when step() is done. The
existing handling in unw_set_reg no longer makes sense.


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


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@204292 91177308-0d34-0410-b5e6-96231b3b80d8
Include stdlib.h for getenv when !NDEBUG.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@205573 91177308-0d34-0410-b5e6-96231b3b80d8
The content of .eh_frame may be misaligned, so use memcpy. This is seen
in the wild on SH3.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@205756 91177308-0d34-0410-b5e6-96231b3b80d8
Code cleanup and re-indent cxa_exception.hpp


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206108 91177308-0d34-0410-b5e6-96231b3b80d8
Properly conditionalize DwarfFDECache<A>::dyldUnloadHook. Patch by Patrick Wildt

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206121 91177308-0d34-0410-b5e6-96231b3b80d8
Properly sign extend sdata2/4 in unwinder.  Patch by Patrick Wildt

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206122 91177308-0d34-0410-b5e6-96231b3b80d8
Replace bzero with memset

... so that we can use newlib as the c library.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206427 91177308-0d34-0410-b5e6-96231b3b80d8
Fixes type of dyldInfo for glibc/bionic systems

Darwin and the BSDs define a tagged struct dl_info typedef'd as Dl_info. glibc
and bionic typedef an anonymous struct as Dl_info.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206939 91177308-0d34-0410-b5e6-96231b3b80d8
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.


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