aboutsummaryrefslogtreecommitdiff
path: root/system/lib/libcxxabi
diff options
context:
space:
mode:
Diffstat (limited to 'system/lib/libcxxabi')
-rw-r--r--system/lib/libcxxabi/CREDITS.TXT4
-rw-r--r--system/lib/libcxxabi/LICENSE.TXT4
-rw-r--r--system/lib/libcxxabi/Makefile28
-rw-r--r--system/lib/libcxxabi/readme.txt2
-rw-r--r--system/lib/libcxxabi/src/cxa_exception.cpp4
-rw-r--r--system/lib/libcxxabi/src/cxa_exception_storage.cpp2
-rw-r--r--system/lib/libcxxabi/src/cxa_handlers.hpp2
-rw-r--r--system/lib/libcxxabi/src/cxa_new_delete.cpp11
-rw-r--r--system/lib/libcxxabi/src/cxa_personality.cpp10
-rw-r--r--system/lib/libcxxabi/src/cxa_vector.cpp2
-rw-r--r--system/lib/libcxxabi/src/private_typeinfo.cpp4
-rw-r--r--system/lib/libcxxabi/symbols231
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