History log of /external/libcxxabi/src/cxa_personality.cpp
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
/external/libcxxabi/src/cxa_personality.cpp
e45805f0d3f8dafef1297cc7dc49e610713f023b 03-Jul-2014 Dan Albert <danalbert@google.com> Merge to upstream r212232.

Includes ARM EHABI unwinder.

Change-Id: I7e40c761abc0a4c67f11b8e9f85efefa6ba292ba
/external/libcxxabi/src/cxa_personality.cpp
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
/external/libcxxabi/src/cxa_personality.cpp
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
/external/libcxxabi/src/cxa_personality.cpp
c82e02dd25b36e5d05cd3644499a553709c9395d 12-Feb-2014 Jonathan Roelofs <jonathan@codesourcery.com> [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
/external/libcxxabi/src/cxa_personality.cpp
6d00feffc82d4f8c0201242291a0e93b492e1dd4 15-Feb-2013 Howard Hinnant <hhinnant@apple.com> Bruce Mitchener: Typo fixes.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@175275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
f8f7f7fee6ecdf9c9a0d3161621c518ffdac52cb 12-Nov-2012 Howard Hinnant <hhinnant@apple.com> Wen-Han Gu: Fix for http://llvm.org/bugs/show_bug.cgi?id=14312 Exception Table out-of-range but still keep walking.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@167733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
1321731d59f4afcab576de163f625c65eea96871 17-Mar-2012 Howard Hinnant <hhinnant@apple.com> Arm fixes in cxa_personality.cpp and a little refactoring.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
96f01710bc5b9c37765f60b9a2e12327d2463d65 09-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable / silence -Wunused-parameter.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
dfa81caf63ec3b24c6d2ffd7d9e8e4a98b203570 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wunused-variable.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
85bc82e6d9dd6447c2eb8414cd3ce650cfa0091a 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wconversion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
3e5c7d0cdb8e17531d5d09f5df1d4ed85d84f356 08-Mar-2012 Howard Hinnant <hhinnant@apple.com> Enable/silence -Wsign-conversion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@152323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
7f9d213dae9bb6aaea7fc8f697680b5f69178f84 29-Feb-2012 Howard Hinnant <hhinnant@apple.com> First attempt at arm support.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@151765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
e045f21bc1c1e0d3e7102f6bab248f8c8959b77d 17-Feb-2012 Howard Hinnant <hhinnant@apple.com> Remove outdated information from comment.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@150827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
7ab185ea390a9ad39f512bd3e7d3ee6ea76812c8 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Treat all exceptions except that the ones that this library throws as foreign. Even other C++ exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
29ae5fcdaedec7039c65355ef35955cbeacb61c1 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Nothing but polishing comments.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
3a1009ca976989bae6308d9bc49494d22c578e79 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Move an error detector to a better place.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
3a2765fc4e360a1eea76d439d1c5fd0b4a4a7d14 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Back the optimization down from -O3 to -Os. I'm getting an unexplained crasher on -O3. I've looked for a libc++abi bug and can't find one. I'm suspecting clang optimizer bug. But I don't have a good test case at the moment. Deferring investigation on this for now as I will soon be developing more and smaller tests.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
2e774bf081cc1aeff076a250ade5c909f9ad79a8 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Fix type-o in the comment of the last commit

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
135b4bd2232cf870ec45a07970f5402ba96baddf 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Found and fixed a bug in __cxa_call_unexpected. If the unexpected_handler rethrows the same exception then needed information gets overwritten in the original exception header. Therefore save it locally before executing the unexpected_handler.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
a5f9da203dc18d2c34909a63d12c2604f6d006d9 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Found and fixed bug in personality function: Don't dive into the action table if the action entry is zero.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
1a58491066c80bd4b599e49fe0930b9390807e0b 31-Jan-2012 Howard Hinnant <hhinnant@apple.com> Minor bug fix in __cxa_call_unexpected. Changed std::terminate to detect a caught-but-unhandled exception, and choose the handler out of that if found.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
4c8d5613f35b03a3b6dc050a822e9a63e038e837 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Refactored personality function. Found one bug in scanning exception spec lists.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
7da9b96afc66c4496eb8809897c1b707b574a5c4 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Add a descriptive name for a constant. Also I'm at least temporarily waging war on throw specs, both old and new style. Except where we have already publicly exposed the throw spec, I'm getting rid of them. They may come back later. But they seem somewhat prone to cyclic dependencies here. The throw spec implies compiler generated code that this library has to jump to during stack unwinding. I'd like to minimize the possiblity that the code used to properly make that jump is itself creating such jumps.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
66f658093ac102462464a896e5c0f4927fed9eac 28-Jan-2012 Howard Hinnant <hhinnant@apple.com> Sometimes it takes all day to write a decent comment. This is one of those times, and I'm still not quite sure I have them correct.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
08f419c67a30f4c03684e8f317c9234549842740 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Forgot to include this file in the last commit: Move kOurExceptionClass and kOurDependentExceptionClass from source to header so that they can be used in multiple sources. This is a private header, these constants are not publicly exposed.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148829 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
c30bfdc7ff4f0ab46e614fb8891be0785ae9a753 22-Jan-2012 Howard Hinnant <hhinnant@apple.com> Getting started on matching a thrown exception to a catch clause, and setting the adjusted pointer to the caught object appearing in the catch clause.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
a36fb308d6767c013e6714b50e40c059be1a1911 22-Jan-2012 Howard Hinnant <hhinnant@apple.com> I kept getting confused among the __cxa_exception*, the _Unwind_Exception* and the void* to the thrown object. So I've gone through these two files and attempted to institute a consistent variable naming scheme, and in a few instances, turned void* into a concrete* to have the type system help me out. No change in functionality for this commit is intended.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
3fa75e1680116753824c47e3eba5648abbf891d0 09-Jan-2012 Howard Hinnant <hhinnant@apple.com> First brush with testing __gxx_personality_v0 reveals there is still a long way to go. But my understanding of what it is supposed to do continues to improve. I am currently contemplating whether I need to implement typeinfo before completing __gxx_personality_v0 in order to get matching catch handlers correct.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
701d94c5dd4758912ad4ce4bfec79bd0c85127a4 06-Jan-2012 Howard Hinnant <hhinnant@apple.com> __gxx_personality_v0 update. This is completely untested code. But my brain is scrambled and I wanted to get it checked in. Code review from anyone who knows anything at all about personality functions would be much appreciated. What is in here is borrowed heavily from llvm/examples/ExceptionDemo/ExceptionDemo.cpp. There are some calls to abort() that should probably be changed to return an error code instead. There may be encodings under readEncodedPointer that need to be implemented. And my handling of type_info is almost a complete guess.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp
ed2ea9bfd2ff873061734d7fc59886901f462c00 04-Jan-2012 Howard Hinnant <hhinnant@apple.com> Just getting started on the personality routine. This is just a skeleton. Still learning how to fill it in...

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_personality.cpp