summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix for libc++abi when using -Wl,--as-needed.Dan Albert2014-07-142-0/+8
| | | | | | | | | | | The cmake files for libc++abi and the unwinder weren't linking against libpthread or an unwind library. If the tests were linked with -Wl,--as-needed, these libraries wouldn't be linked, causing them to fail. Patch contributed by İsmail Dönmez. llvm-svn: 212958
* Support LLVM_LIBDIR_SUFFIX.Dan Albert2014-07-112-4/+4
| | | | | | | | This is useful for distros installing under /usr/lib64. Patch from İsmail Dönmez. llvm-svn: 212826
* Add support for building and testing the unwinder.Dan Albert2014-07-112-7/+102
| | | | | | | Note: The unwinder currently only works on Darwin and on ARM Linux. Non-ARM Linux support is not yet implemented, and will fail to build. llvm-svn: 212824
* Add lit configs for libcxxabi tests.Dan Albert2014-07-101-7/+1
| | | | | | | | | | | | | | | This makes running libcxxabi tests on Linux _much_ easier. Adds a check-libcxxabi target to cmake. Also defaults to building a dynamic libc++abi. This is so that the default options still test the libc++abi that is being built. There are two problems with testing a static libc++abi. In the case of a standalone build, the tests will link the system's libc++, which might not have been built against our libc++abi. In the case of an in tree build, libc++ will prefer a dynamic libc++abi from the system over a static libc++abi from the output directory. llvm-svn: 212672
* Add a cmake build system.Dan Albert2014-07-031-0/+99
| | | | | | | Will add support for tests with lit in a later patch. This does not yet support building the unwinder in src/Unwind. llvm-svn: 212286
* Fix a warning about undeclared call to abort().Dan Albert2014-07-021-1/+3
| | | | llvm-svn: 212232
* Revert the LSDA change to scan_eh_tab.Logan Chien2014-06-301-19/+8
| | | | | | | | | | | This commit reverts the LSDA-related change in r211745. The r211745 adds a new argument to scan_eh_tab(), i.e. lsda. However, IMO, calling _Unwind_GetLanguageSpecificData() directly in scan_eh_tab() was more intuitive and reduces several function call to _Unwind_GetLanguageSpecificData() in __cxx_personality_v0(). llvm-svn: 212037
* Silence the implicit signed/unsigned conversion warning.Logan Chien2014-06-272-27/+29
| | | | llvm-svn: 211912
* Silence unused variable and parameter warnings.Logan Chien2014-06-262-3/+9
| | | | llvm-svn: 211790
* Fix linux build.Logan Chien2014-06-261-8/+10
| | | | | | | | | * Replace strlcpy with snprintf since strlcpy is not available in glibc. * Replace __LINUX__ with __linux__. llvm-svn: 211784
* Add missing header for _LIBUNWIND_LOG().Logan Chien2014-06-261-0/+1
| | | | llvm-svn: 211775
* Fix building for iOSNick Kledzik2014-06-261-1/+1
| | | | llvm-svn: 211751
* Minor libc++abi changes to make things build better with gcc.Nico Weber2014-06-253-1/+3
| | | | llvm-svn: 211748
* Update libc++abi to use the ARM EHABI unwinder from its libunwind.Nico Weber2014-06-253-36/+85
| | | | llvm-svn: 211745
* Land support for ARM EHABI unwinding for libunwind.Nico Weber2014-06-258-63/+1596
| | | | | | | | | | | This was written by: Albert Wong <ajwong@chromium.org> Antoine Labour <piman@chromium.org> Dana Jansen <danakj@chromium.org Jonathan Roelofs <jonathan@codesourcery.com> Nico Weber <thakis@chromium.org> llvm-svn: 211743
* Start landing support for ARM EHABI unwinding.Nico Weber2014-06-252-14/+48
| | | | | | | | The new code will be behind a LIBCXXABI_ARM_EHABI define (so that platforms that don't want it can continue using e.g. SJLJ). This commit mostly just adds the LIBCXXABI_ARM_EHABI define. llvm-svn: 211739
* Let libc++abi compile with gcc.Nico Weber2014-05-301-11/+12
| | | | | | | | | | | | | | There was a single problem in cxa_demangle.cpp, where gcc would complain `error: changes meaning of 'String'` about the line `typedef String String;`. According to 3.3.7p2, this diagnostic is allowed (but not required, so clang does not have to report this). As a fix, make string_pair a template and pass String as template parameter. This fixes the error with gcc and also removes some repetition from the code. No behavior change. llvm-svn: 209909
* Fix typo in comment.Logan Chien2014-05-141-1/+1
| | | | llvm-svn: 208795
* PR19091: Track whether we're demangling a function template specialization toRichard Smith2014-05-121-11/+29
| | | | | | | determine whether we get a mangling for a return type, rather than trying to figure it out based on whether the mangled name ended with a '>'. llvm-svn: 208611
* Implement ARM EHABI exception handling.Logan Chien2014-05-104-5/+310
| | | | | | | This commit implements the ARM zero-cost exception handling support for libc++abi. llvm-svn: 208466
* Fixes more incorrect #ifs for SJ/LJ exceptionsJonathan Roelofs2014-05-081-16/+16
| | | | | | Replaces several `#if __arm__` with `#if __USING_SJLJ_EXCEPTIONS__`. llvm-svn: 208352
* Fix broken build from r208135Jonathan Roelofs2014-05-081-0/+1
| | | | llvm-svn: 208350
* Make libc++abi use the implementation of __numstr from libc++. No ↵Marshall Clow2014-05-071-127/+6
| | | | | | functionality change, just removal of duplicated code. llvm-svn: 208246
* On single threaded systems, turn mutexes into nopsJonathan Roelofs2014-05-065-5/+83
| | | | | | http://reviews.llvm.org/D3386 llvm-svn: 208135
* Fix cast warningNick Kledzik2014-04-281-2/+2
| | | | llvm-svn: 207469
* Use return address register from CIE. Move ↵Nick Kledzik2014-04-283-91/+20
| | | | | | DwarfInstructions::lastRestoreReg() to Register::lastDwarfRegNum(). llvm-svn: 207467
* No need to specialize DwarfInstructions::getCFA(). It is the same for all archsNick Kledzik2014-04-281-63/+12
| | | | llvm-svn: 207463
* Properly sign extend delta in compact unwind infoNick Kledzik2014-04-251-2/+3
| | | | llvm-svn: 207170
* Fix one missed use of DW_EH_PE_omit in r203626Nick Kledzik2014-04-251-1/+1
| | | | llvm-svn: 207169
* Fix virtual class with non-virtual dtor complaintDan Albert2014-04-231-0/+1
| | | | | | | Fixes compiler complaint about: src/Unwind/UnwindCursor.hpp:366:25: error: 'libunwind::AbstractUnwindCursor' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor] llvm-svn: 206942
* Fixes incorrect #ifs for SJ/LJ exceptionsDan Albert2014-04-232-4/+4
| | | | | | | 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. llvm-svn: 206941
* Fixes type of dyldInfo for glibc/bionic systemsDan Albert2014-04-231-1/+1
| | | | | | | 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. llvm-svn: 206939
* Replace bzero with memsetJonathan Roelofs2014-04-161-8/+9
| | | | | | ... so that we can use newlib as the c library. llvm-svn: 206427
* Properly sign extend sdata2/4 in unwinder. Patch by Patrick WildtNick Kledzik2014-04-121-2/+4
| | | | llvm-svn: 206122
* Properly conditionalize DwarfFDECache<A>::dyldUnloadHook. Patch by Patrick WildtNick Kledzik2014-04-121-0/+2
| | | | llvm-svn: 206121
* Code cleanup and re-indent cxa_exception.hppLogan Chien2014-04-121-54/+55
| | | | llvm-svn: 206108
* The content of .eh_frame may be misaligned, so use memcpy. This is seenJoerg Sonnenberger2014-04-081-7/+31
| | | | | | in the wild on SH3. llvm-svn: 205756
* Include stdlib.h for getenv when !NDEBUG.Joerg Sonnenberger2014-04-031-0/+1
| | | | llvm-svn: 205573
* Simplify.Joerg Sonnenberger2014-03-201-6/+1
| | | | llvm-svn: 204292
* Fix DW_CFA_GNU_args_size handling. The primary architecture using thisJoerg Sonnenberger2014-03-202-3/+2
| | | | | | | | | | | 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. llvm-svn: 204290
* 0 is a valid LSDA encoding and can be seen in statically linkedJoerg Sonnenberger2014-03-111-2/+2
| | | | | | | programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. llvm-svn: 203626
* Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec.Anders Carlsson2014-02-171-0/+5
| | | | llvm-svn: 201533
* [libcxxabi] Fix broken codesourcery.com links in commentsJonathan Roelofs2014-02-127-7/+7
| | | | | review: http://llvm-reviews.chandlerc.com/D2718 llvm-svn: 201208
* Fix PR17221 - can't catch virtual base classes when throwing derived NULL ↵Marshall Clow2014-02-061-10/+14
| | | | | | pointers. Specifically, libc++abi would crash when you tried it. llvm-svn: 200904
* Fix PR17222 - catching derived classes from thrown null pointer. Adds tests, tooMarshall Clow2014-02-051-1/+2
| | | | llvm-svn: 200864
* Use .p2align instead of .alignNick Kledzik2014-01-232-4/+4
| | | | llvm-svn: 199941
* Add missing alignment directives in assemblyNick Kledzik2014-01-232-0/+4
| | | | llvm-svn: 199915
* Don't redefine static_assert()Nick Kledzik2014-01-231-1/+1
| | | | llvm-svn: 199860
* Fix unwinder to build for iOSNick Kledzik2014-01-232-2/+5
| | | | llvm-svn: 199859
* Implement demangling for user-defined operators.Howard Hinnant2014-01-061-0/+13
| | | | llvm-svn: 198643
OpenPOWER on IntegriCloud