diff options
Diffstat (limited to 'system/lib/libcxxabi')
-rw-r--r-- | system/lib/libcxxabi/CREDITS.TXT | 4 | ||||
-rw-r--r-- | system/lib/libcxxabi/LICENSE.TXT | 4 | ||||
-rw-r--r-- | system/lib/libcxxabi/Makefile | 28 | ||||
-rw-r--r-- | system/lib/libcxxabi/readme.txt | 2 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_exception.cpp | 4 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_exception_storage.cpp | 2 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_handlers.hpp | 2 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_new_delete.cpp | 11 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_personality.cpp | 10 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/cxa_vector.cpp | 2 | ||||
-rw-r--r-- | system/lib/libcxxabi/src/private_typeinfo.cpp | 4 | ||||
-rw-r--r-- | system/lib/libcxxabi/symbols | 231 |
12 files changed, 254 insertions, 50 deletions
diff --git a/system/lib/libcxxabi/CREDITS.TXT b/system/lib/libcxxabi/CREDITS.TXT index 231dfd33..5446562a 100644 --- a/system/lib/libcxxabi/CREDITS.TXT +++ b/system/lib/libcxxabi/CREDITS.TXT @@ -32,3 +32,7 @@ D: Minor patches and fixes N: Nowar Gu E: wenhan.gu@gmail.com D: Minor patches and fixes + +N: Bruce Mitchener, Jr. +E: bruce.mitchener@gmail.com +D: Minor typo fixes diff --git a/system/lib/libcxxabi/LICENSE.TXT b/system/lib/libcxxabi/LICENSE.TXT index 40ce7c7d..b04ba2c9 100644 --- a/system/lib/libcxxabi/LICENSE.TXT +++ b/system/lib/libcxxabi/LICENSE.TXT @@ -14,7 +14,7 @@ Full text of the relevant licenses is included below. University of Illinois/NCSA Open Source License -Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT All rights reserved. @@ -55,7 +55,7 @@ SOFTWARE. ============================================================================== -Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/system/lib/libcxxabi/Makefile b/system/lib/libcxxabi/Makefile deleted file mode 100644 index 62654ef2..00000000 --- a/system/lib/libcxxabi/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -OBJECTS = \ - src/private_typeinfo.bc \ - $(NULL) - #src/cxa_vector.bc \ - #src/cxa_virtual.bc \ - #src/temporary.bc \ - #src/cxa_guard.bc \ - #src/cxa_unexpected.bc \ - #src/cxa_exception.bc \ - #src/cxa_aux_runtime.bc \ - #src/exception.bc \ - #src/stdexcept.bc \ - #src/abort_message.bc \ - #src/cxa_personality.bc \ - #src/cxa_new_delete.bc \ - #src/cxa_handlers.bc \ - #src/cxa_exception_storage.bc \ - #src/typeinfo.bc \ - #src/cxa_demangle.bc - -all: libcxxabi.bc - -%.bc: %.cpp - $(CXX) -I./include $< -o $@ - -libcxxabi.bc: $(OBJECTS) - $(CXX) $(OBJECTS) -o libcxxabi.bc - diff --git a/system/lib/libcxxabi/readme.txt b/system/lib/libcxxabi/readme.txt index fde423c0..f55da87c 100644 --- a/system/lib/libcxxabi/readme.txt +++ b/system/lib/libcxxabi/readme.txt @@ -1 +1 @@ -These files are from libcxxabi, svn revision 169402, Dec 10 2012 +These files are from libcxxabi, svn revision 175275, Feb 15, 2013. diff --git a/system/lib/libcxxabi/src/cxa_exception.cpp b/system/lib/libcxxabi/src/cxa_exception.cpp index 1c362993..f8c38c07 100644 --- a/system/lib/libcxxabi/src/cxa_exception.cpp +++ b/system/lib/libcxxabi/src/cxa_exception.cpp @@ -524,7 +524,7 @@ __cxa_decrement_exception_refcount(void* thrown_object) throw() /* Returns a pointer to the thrown object (if any) at the top of the - caughtExceptions stack. Atommically increment the exception's referenceCount. + caughtExceptions stack. Atomically increment the exception's referenceCount. If there is no such thrown object or if the thrown object is foreign, returns null. @@ -573,7 +573,7 @@ dependent_exception_cleanup(_Unwind_Reason_Code reason, _Unwind_Exception* unwin } /* - If thrown_object is not null, allocate, initialize and thow a dependent + If thrown_object is not null, allocate, initialize and throw a dependent exception. */ void diff --git a/system/lib/libcxxabi/src/cxa_exception_storage.cpp b/system/lib/libcxxabi/src/cxa_exception_storage.cpp index 2c269c7f..b0b55240 100644 --- a/system/lib/libcxxabi/src/cxa_exception_storage.cpp +++ b/system/lib/libcxxabi/src/cxa_exception_storage.cpp @@ -75,7 +75,7 @@ extern "C" { } // Note that this implementation will reliably return NULL if not - // preceeded by a call to __cxa_get_globals(). This is an extension + // preceded by a call to __cxa_get_globals(). This is an extension // to the Itanium ABI and is taken advantage of in several places in // libc++abi. __cxa_eh_globals * __cxa_get_globals_fast () { diff --git a/system/lib/libcxxabi/src/cxa_handlers.hpp b/system/lib/libcxxabi/src/cxa_handlers.hpp index 64994ac7..ce567ec1 100644 --- a/system/lib/libcxxabi/src/cxa_handlers.hpp +++ b/system/lib/libcxxabi/src/cxa_handlers.hpp @@ -45,7 +45,7 @@ extern void (*__cxa_new_handler)(); extern std::atomic<std::new_handler> __cxa_new_handler; This change will not impact their ABI. But it will allow for a - portible performance optimization. + portable performance optimization. */ diff --git a/system/lib/libcxxabi/src/cxa_new_delete.cpp b/system/lib/libcxxabi/src/cxa_new_delete.cpp index 6352001b..e6fee5f2 100644 --- a/system/lib/libcxxabi/src/cxa_new_delete.cpp +++ b/system/lib/libcxxabi/src/cxa_new_delete.cpp @@ -228,4 +228,15 @@ bad_array_new_length::what() const _NOEXCEPT return "bad_array_new_length"; } +#ifdef EMSCRIPTEN +// We don't build the new.cpp from libcxx, so we need to define this. +void +__throw_bad_alloc() +{ +#ifndef _LIBCPP_NO_EXCEPTIONS + throw bad_alloc(); +#endif +} +#endif + } // std diff --git a/system/lib/libcxxabi/src/cxa_personality.cpp b/system/lib/libcxxabi/src/cxa_personality.cpp index b2efe2aa..97e58001 100644 --- a/system/lib/libcxxabi/src/cxa_personality.cpp +++ b/system/lib/libcxxabi/src/cxa_personality.cpp @@ -39,7 +39,7 @@ +-----------------+--------+ | lpStartEncoding | (char) | +---------+-------+--------+---------------+-----------------------+ -| lpStart | (encoded wtih lpStartEncoding) | defaults to funcStart | +| lpStart | (encoded with lpStartEncoding) | defaults to funcStart | +---------+-----+--------+-----------------+---------------+-------+ | ttypeEncoding | (char) | Encoding of the type_info table | +---------------+-+------+----+----------------------------+----------------+ @@ -187,7 +187,7 @@ readULEB128(const uint8_t** data) } /// Read a sleb128 encoded value and advance pointer -/// See Variable Length Data Applendix C in: +/// See Variable Length Data Appendix C in: /// @link http://dwarfstd.org/Dwarf4.pdf @unlink /// @param data reference variable holding memory pointer to decode from /// @returns decoded value @@ -344,7 +344,7 @@ get_shim_type_info(uint64_t ttypeIndex, const uint8_t* classInfo, } /* - This is checking a thrown exception type, excpType, against a posibly empty + This is checking a thrown exception type, excpType, against a possibly empty list of catchType's which make up an exception spec. An exception spec acts like a catch handler, but in reverse. This "catch @@ -489,7 +489,7 @@ scan_eh_tab(scan_results& results, _Unwind_Action actions, bool native_exception return; } } - else // Niether _UA_SEARCH_PHASE nor _UA_CLEANUP_PHASE is set + else // Neither _UA_SEARCH_PHASE nor _UA_CLEANUP_PHASE is set { // One of these should be set. // Client error @@ -1038,7 +1038,7 @@ __cxa_call_unexpected(void* arg) { // We need to __cxa_end_catch for both the old exception and the // new exception. Technically we should do it in that order. - // But it is expedent to do it in the opposite order: + // But it is expedient to do it in the opposite order: // Call __cxa_end_catch for new_exception_header __cxa_end_catch(); // Throw std::bad_exception will __cxa_end_catch for diff --git a/system/lib/libcxxabi/src/cxa_vector.cpp b/system/lib/libcxxabi/src/cxa_vector.cpp index 926c01dd..c2292ef2 100644 --- a/system/lib/libcxxabi/src/cxa_vector.cpp +++ b/system/lib/libcxxabi/src/cxa_vector.cpp @@ -32,7 +32,7 @@ namespace { // A pair of classes to simplify exception handling and control flow. // They get passed a block of memory in the constructor, and unless the // 'release' method is called, they deallocate the memory in the destructor. -// Prefered usage is to allocate some memory, attach it to one of these objects, +// Preferred usage is to allocate some memory, attach it to one of these objects, // and then, when all the operations to set up the memory block have succeeded, // call 'release'. If any of the setup operations fail, or an exception is // thrown, then the block is automatically deallocated. diff --git a/system/lib/libcxxabi/src/private_typeinfo.cpp b/system/lib/libcxxabi/src/private_typeinfo.cpp index 44b084ae..216f796d 100644 --- a/system/lib/libcxxabi/src/private_typeinfo.cpp +++ b/system/lib/libcxxabi/src/private_typeinfo.cpp @@ -16,13 +16,13 @@ // When _LIBCXX_DYNAMIC_FALLBACK is defined, and only in the case where // there is a detected inconsistency in the type_info hierarchy during a // dynamic_cast, then the equality operation will fall back to using strcmp -// on type_info names to determin type_info equality. +// on type_info names to determine type_info equality. // // This change happens *only* under dynamic_cast, and only when // dynamic_cast is faced with the choice: abort, or possibly give back the // wrong answer. If when the dynamic_cast is done with this fallback // algorithm and an inconsistency is still detected, dynamic_cast will call -// abort with an approriate message. +// abort with an appropriate message. // // The current implementation of _LIBCXX_DYNAMIC_FALLBACK requires a // printf-like function called syslog: diff --git a/system/lib/libcxxabi/symbols b/system/lib/libcxxabi/symbols index b63f2f82..a02a6411 100644 --- a/system/lib/libcxxabi/symbols +++ b/system/lib/libcxxabi/symbols @@ -1,4 +1,224 @@ - T __dynamic_cast + T _ZN10__cxxabiv116__enum_type_infoD0Ev + T _ZN10__cxxabiv116__enum_type_infoD1Ev + T _ZN10__cxxabiv116__enum_type_infoD2Ev + T _ZN10__cxxabiv116__shim_type_infoD0Ev + T _ZN10__cxxabiv116__shim_type_infoD1Ev + T _ZN10__cxxabiv116__shim_type_infoD2Ev + T _ZN10__cxxabiv117__array_type_infoD0Ev + T _ZN10__cxxabiv117__array_type_infoD1Ev + T _ZN10__cxxabiv117__array_type_infoD2Ev + T _ZN10__cxxabiv117__class_type_infoD0Ev + T _ZN10__cxxabiv117__class_type_infoD1Ev + T _ZN10__cxxabiv117__class_type_infoD2Ev + T _ZN10__cxxabiv117__pbase_type_infoD0Ev + T _ZN10__cxxabiv117__pbase_type_infoD1Ev + T _ZN10__cxxabiv117__pbase_type_infoD2Ev + T _ZN10__cxxabiv119__pointer_type_infoD0Ev + T _ZN10__cxxabiv119__pointer_type_infoD1Ev + T _ZN10__cxxabiv119__pointer_type_infoD2Ev + T _ZN10__cxxabiv120__function_type_infoD0Ev + T _ZN10__cxxabiv120__function_type_infoD1Ev + T _ZN10__cxxabiv120__function_type_infoD2Ev + T _ZN10__cxxabiv120__si_class_type_infoD0Ev + T _ZN10__cxxabiv120__si_class_type_infoD1Ev + T _ZN10__cxxabiv120__si_class_type_infoD2Ev + T _ZN10__cxxabiv121__vmi_class_type_infoD0Ev + T _ZN10__cxxabiv121__vmi_class_type_infoD1Ev + T _ZN10__cxxabiv121__vmi_class_type_infoD2Ev + T _ZN10__cxxabiv123__fundamental_type_infoD0Ev + T _ZN10__cxxabiv123__fundamental_type_infoD1Ev + T _ZN10__cxxabiv123__fundamental_type_infoD2Ev + T _ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev + T _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev + T _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev + C _ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b + T _ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv116__shim_type_info5noop1Ev + T _ZNK10__cxxabiv116__shim_type_info5noop2Ev + T _ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib + T _ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib + T _ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi + T _ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi + T _ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i + T _ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi + T _ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib + T _ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib + T _ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi + T _ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib + T _ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib + T _ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi + T _ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib + T _ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib + T _ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi + T _ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv + T _ZNKSt10bad_typeid4whatEv + T _ZNKSt8bad_cast4whatEv + T _ZNSt10bad_typeidC1Ev + T _ZNSt10bad_typeidC2Ev + T _ZNSt10bad_typeidD0Ev + T _ZNSt10bad_typeidD1Ev + T _ZNSt10bad_typeidD2Ev + T _ZNSt8bad_castC1Ev + T _ZNSt8bad_castC2Ev + T _ZNSt8bad_castD0Ev + T _ZNSt8bad_castD1Ev + T _ZNSt8bad_castD2Ev + T _ZNSt9type_infoD0Ev + T _ZNSt9type_infoD1Ev + T _ZNSt9type_infoD2Ev + D _ZTIDi + D _ZTIDn + D _ZTIDs + D _ZTIN10__cxxabiv116__enum_type_infoE + D _ZTIN10__cxxabiv116__shim_type_infoE + D _ZTIN10__cxxabiv117__array_type_infoE + D _ZTIN10__cxxabiv117__class_type_infoE + D _ZTIN10__cxxabiv117__pbase_type_infoE + D _ZTIN10__cxxabiv119__pointer_type_infoE + D _ZTIN10__cxxabiv120__function_type_infoE + D _ZTIN10__cxxabiv120__si_class_type_infoE + D _ZTIN10__cxxabiv121__vmi_class_type_infoE + D _ZTIN10__cxxabiv123__fundamental_type_infoE + D _ZTIN10__cxxabiv129__pointer_to_member_type_infoE + D _ZTIPDi + D _ZTIPDn + D _ZTIPDs + D _ZTIPKDi + D _ZTIPKDn + D _ZTIPKDs + D _ZTIPKa + D _ZTIPKb + D _ZTIPKc + D _ZTIPKd + D _ZTIPKe + D _ZTIPKf + D _ZTIPKh + D _ZTIPKi + D _ZTIPKj + D _ZTIPKl + D _ZTIPKm + D _ZTIPKs + D _ZTIPKt + D _ZTIPKv + D _ZTIPKw + D _ZTIPKx + D _ZTIPKy + D _ZTIPa + D _ZTIPb + D _ZTIPc + D _ZTIPd + D _ZTIPe + D _ZTIPf + D _ZTIPh + D _ZTIPi + D _ZTIPj + D _ZTIPl + D _ZTIPm + D _ZTIPs + D _ZTIPt + D _ZTIPv + D _ZTIPw + D _ZTIPx + D _ZTIPy + D _ZTISt10bad_typeid + D _ZTISt8bad_cast + D _ZTISt9type_info + D _ZTIa + D _ZTIb + D _ZTIc + D _ZTId + D _ZTIe + D _ZTIf + D _ZTIh + D _ZTIi + D _ZTIj + D _ZTIl + D _ZTIm + D _ZTIs + D _ZTIt + D _ZTIv + D _ZTIw + D _ZTIx + D _ZTIy + D _ZTSDi + D _ZTSDn + D _ZTSDs + D _ZTSN10__cxxabiv116__enum_type_infoE + D _ZTSN10__cxxabiv116__shim_type_infoE + D _ZTSN10__cxxabiv117__array_type_infoE + D _ZTSN10__cxxabiv117__class_type_infoE + D _ZTSN10__cxxabiv117__pbase_type_infoE + D _ZTSN10__cxxabiv119__pointer_type_infoE + D _ZTSN10__cxxabiv120__function_type_infoE + D _ZTSN10__cxxabiv120__si_class_type_infoE + D _ZTSN10__cxxabiv121__vmi_class_type_infoE + D _ZTSN10__cxxabiv123__fundamental_type_infoE + D _ZTSN10__cxxabiv129__pointer_to_member_type_infoE + D _ZTSPDi + D _ZTSPDn + D _ZTSPDs + D _ZTSPKDi + D _ZTSPKDn + D _ZTSPKDs + D _ZTSPKa + D _ZTSPKb + D _ZTSPKc + D _ZTSPKd + D _ZTSPKe + D _ZTSPKf + D _ZTSPKh + D _ZTSPKi + D _ZTSPKj + D _ZTSPKl + D _ZTSPKm + D _ZTSPKs + D _ZTSPKt + D _ZTSPKv + D _ZTSPKw + D _ZTSPKx + D _ZTSPKy + D _ZTSPa + D _ZTSPb + D _ZTSPc + D _ZTSPd + D _ZTSPe + D _ZTSPf + D _ZTSPh + D _ZTSPi + D _ZTSPj + D _ZTSPl + D _ZTSPm + D _ZTSPs + D _ZTSPt + D _ZTSPv + D _ZTSPw + D _ZTSPx + D _ZTSPy + D _ZTSSt10bad_typeid + D _ZTSSt8bad_cast + D _ZTSSt9type_info + D _ZTSa + D _ZTSb + D _ZTSc + D _ZTSd + D _ZTSe + D _ZTSf + D _ZTSh + D _ZTSi + D _ZTSj + D _ZTSl + D _ZTSm + D _ZTSs + D _ZTSt + D _ZTSv + D _ZTSw + D _ZTSx + D _ZTSy D _ZTVN10__cxxabiv116__enum_type_infoE D _ZTVN10__cxxabiv116__shim_type_infoE D _ZTVN10__cxxabiv117__array_type_infoE @@ -10,10 +230,7 @@ D _ZTVN10__cxxabiv121__vmi_class_type_infoE D _ZTVN10__cxxabiv123__fundamental_type_infoE D _ZTVN10__cxxabiv129__pointer_to_member_type_infoE - D _ZTSSt9type_info - T _ZNKSt8bad_cast4whatEv - T _ZNSt8bad_castC1Ev - T _ZNSt8bad_castC2Ev - D _ZTISt8bad_cast - D _ZTSSt8bad_cast + D _ZTVSt10bad_typeid D _ZTVSt8bad_cast + D _ZTVSt9type_info + T __dynamic_cast |