History log of /external/libcxxabi/src/cxa_exception.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
68bb21de77e93d0358e2d77d502eb23536bbdb15 22-Dec-2015 Logan Chien <tzuhsiang.chien@gmail.com> Fix ARM __cxa_end_cleanup() and gc-sections.

This commit adds SHF_ALLOC and SHF_EXECINSTR section flags to
`.text.__cxa_end_cleanup` section. This fixes a link error when we are
using integrated-as and `ld.gold` (with `-Wl,--gc-sections` and
`-Wl,--fatal-warnings`.)

Detailed Explanation:

1. There might be some problem with LLVM integrated-as. It is not
emitting any section flags for text sections. (This will be fixed in
an independent commit.)

2. `ld.gold` will skip the external symbols in the section without
SHF_ALLOC. This is the reason why `.text.__cxa_end_cleanup_impl`
section is discarded even though it is referenced by
`__cxa_end_cleanup()`.

This commit workaround the problem by specifying the section flags
explicitly.

Fix http://llvm.org/PR21292

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@256241 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit f67395cccae6049982ad67530f406624cc0445ac)

Change-Id: Id477f4d8aa159ee8cfe6640ecc66aa27afe574c6
/external/libcxxabi/src/cxa_exception.cpp
5013d7c4d0baf9c67939f123fea6f5b3dc31052d 02-Jun-2015 Marshall Clow <mclow.lists@gmail.com> Implement uncaught_exceptions() to get a count, rather than a bool. Update the libc++abi version. Reviewed as http://reviews.llvm.org/D10067

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@238827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
da5a6b1de034870097d881d8f7ab5b77e2ed4b7f 06-Feb-2015 Dan Albert <danalbert@google.com> Formatting fixes.

We should clang-format the whole thing when we finally move the
unwinder to its new home.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@228360 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
a1fce46063c99e307594236c55004b4e5b62243f 05-Feb-2015 Dan Albert <danalbert@google.com> Enable -Wundef.

The problem that caused the need for http://reviews.llvm.org/D7419 was
caused by testing the value of something that was undefined. This
should prevent that in the future.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@228257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
239a0322e4f377c93998230261063a048ab5b7f7 05-Sep-2014 Jonathan Roelofs <jonathan@codesourcery.com> s/LIBCXXABI_SINGLE_THREADED/LIBCXXABI_HAS_NO_THREADS/ for consistency with libcxx

Also remove the audotedection part so that if you're crazy enough to want a
single-threaded abi library, you'll say so explicitly in the build.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@217262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
d6e233687f0e2a20e77f864f96503d1b73f9d7de 26-Jun-2014 Nico Weber <nicolasweber@gmx.de> Update libc++abi to use the ARM EHABI unwinder from its libunwind.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@211745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
05d51bcf07d0ec1c40785b4a860fd917410b4be1 10-May-2014 Logan Chien <tzuhsiang.chien@gmail.com> Implement ARM EHABI exception handling.

This commit implements the ARM zero-cost exception handling
support for libc++abi.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
c285efad792f81f323c18e7f7674164ad94b4059 06-May-2014 Jonathan Roelofs <jonathan@codesourcery.com> On single threaded systems, turn mutexes into nops

http://reviews.llvm.org/D3386


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@208135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
674e99db596c1cd16864bb6d3de05d39eeb932cd 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.


git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@206941 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.cpp
6c33e768c1b37af3e5d5f9f0e2a72fcf1dc51382 17-Jun-2013 Howard Hinnant <hhinnant@apple.com> Demangler update: This now demangles many more (all?) C++11 symbols. Demangler tests updated.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@184097 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.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_exception.cpp
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
/external/libcxxabi/src/cxa_exception.cpp
8dd7a48855cc1e11101b967664d9602f49ab6842 01-Feb-2012 Howard Hinnant <hhinnant@apple.com> Teach exception_cleanup_func about dependent exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.cpp
723ef221e08a1f60cd6b85bed883b351f5397f42 30-Jan-2012 Howard Hinnant <hhinnant@apple.com> Removed debugging print statements

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.cpp
978bfdea305b62e4de913a8532657ebf977ab03f 28-Jan-2012 Howard Hinnant <hhinnant@apple.com> Minor updates to a couple of comments.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
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
/external/libcxxabi/src/cxa_exception.cpp
60a178840d23fbf169a22fde1cef5e558ef232f9 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Marshall Clow reminded me that fallback_malloc.cpp was broken out for testing purposes. We've agreed to simply rename fallback_malloc.cpp to fallback_malloc.ipp. Thanks Marshall.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
c2dfdeb45185892867d765a75668760285dbfbf0 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Got fooled by fallback_malloc.cpp source file: it is really a private header. I've manually included it into the only place it is used: cxa_exception.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
2a70c109842324cebbfc1299eb70b6a1b8c0e5b6 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> 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@148827 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
ca6514dfeab3c7fad4c111cd07996661452cecb0 24-Jan-2012 Howard Hinnant <hhinnant@apple.com> Changed my mind about __cxa_uncaught_exception and added it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@148754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.cpp
8ca7603d21b85b03a57d703feb9e8e8bcd6dcfd0 09-Jan-2012 Howard Hinnant <hhinnant@apple.com> Add a few TODO's and FIXME's. Making notes as I go along, but not slowing down to fix these yet. Just don't want anything to fall through the cracks.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
0acbd98b56b3e10c7e02db24ae09e9875be27c40 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Improved comment to explain why we can use __cxa_get_globals_fast here

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.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_exception.cpp
2bce81b9692028a861666035755904a406cd084a 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Better comment

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
aeed3a90ceedca2111fc93301de2acc38a80229c 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Don't allocate TLS storage when checking to see if an exception has been thrown - really

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
62edc0172b356c9d2b4c46c1f309884d40ab1b7e 04-Jan-2012 Marshall Clow <mclow@qualcomm.com> Don't allocate TLS storage when checking to see if an exception has been thrown

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
57d64cd19aee4b6cf4acf6184a3f5d454bb69e9d 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> credits adjustment

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
64e0097014e8a321735633265e5f9460f505c155 22-Dec-2011 Marshall Clow <mclow@qualcomm.com> Updated __cxa_current_exception_type to call __cxa_get_globals_fast - will not allocate globals

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
dd47ca4f1c0252fbdfd1d6338eaac9c42cade3b8 22-Dec-2011 Howard Hinnant <hhinnant@apple.com> Forgot to increment uncaughtExceptions in __cxa_rethrow_primary_exception

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
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
/external/libcxxabi/src/cxa_exception.cpp
d4028fe9fa58c189d699c8aad79941b5f3eef86e 12-Dec-2011 Howard Hinnant <hhinnant@apple.com> Made some minor tweaks to __cxa_rethrow

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
b5fea43d2d4953c953ed4dde24caedca4f4e9733 12-Dec-2011 Howard Hinnant <hhinnant@apple.com> Added dependent exception support to __cxa_current_exception_type

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146381 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
6eb54ad96edcf6311d304068c2fc7c9f15eb808d 08-Dec-2011 Howard Hinnant <hhinnant@apple.com> Modified __cxa_end_catch to handle dependent exceptions.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
e8fcf83b576ff70ba5886fbd73434218a68ac414 07-Dec-2011 Howard Hinnant <hhinnant@apple.com> Reviewing cxa_exception.cpp and marking as implemented as I go. Not marking as implemented on arm when I'm not sure about that platform.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@146072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
fb271ad9c5f92a5d35bdc847020ba698bbff8997 06-Dec-2011 Howard Hinnant <hhinnant@apple.com> Substituted std::get_terminate() for direct access to the handler function pointer (which is now a static in cxa_handlers.cpp). This has the advantage of going through the atomic API and so is less likely to cause a data race. Ditto for unexpected.

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@145951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7ac31268d7e8ece416572ccea8eb3b7f4029ea42 15-Aug-2011 Marshall Clow <mclow@qualcomm.com> reformatted to match Clang style; thanks to John McCall for the nudge

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
7c4652fc013fe114c9df54b85ea8f892499ed399 09-Aug-2011 Marshall Clow <mclow@qualcomm.com> First cut at exception handling; missing dependent exceptions. Next step: tests

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
87143dced1a13254922973c14f5f71054b1e5b77 08-Aug-2011 Marshall Clow <mclow@qualcomm.com> Remove include reference to non-existant file cxa_exception_storage.hpp

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@137046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
81b7ea7df48333715c0c57d5418c5383e3f5c950 20-Jul-2011 Howard Hinnant <hhinnant@apple.com> Update status: http://libcxxabi.llvm.org/spec.html . Looking good! :-)

git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@135590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/libcxxabi/src/cxa_exception.cpp
47c29eb784f53ff170074ea00cd238e0e95af82f 20-Jul-2011 Marshall Clow <mclow@qualcomm.com> Memory manangement routines for exception objects

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