aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2013-03-25 11:25:49 +0700
committerBruce Mitchener <bruce.mitchener@gmail.com>2013-03-25 14:14:22 +0700
commit09221ebd18ec0074b25d593400f040ee460526aa (patch)
treee721b466f79090d78ddca667477ff33b56f083f2
parentff1ba5d2339a6e086b812acf96c47f78764b0095 (diff)
Get exceptions working as they were before.
This no longer uses headers from libcxxabi and in fact uses libcxxabi a bit less than before. This no longer lets some new C++11 stuff such as exception_ptr work as the support for that relies upon libcxxabi code.
-rwxr-xr-xemcc12
-rw-r--r--system/lib/libc.symbols30
-rw-r--r--system/lib/libcxx/exception.cpp4
-rw-r--r--system/lib/libcxx/symbols290
-rw-r--r--system/lib/libcxxabi/symbols111
-rw-r--r--tools/shared.py1
6 files changed, 104 insertions, 344 deletions
diff --git a/emcc b/emcc
index c9bb4c37..cd906c7b 100755
--- a/emcc
+++ b/emcc
@@ -1102,6 +1102,7 @@ try:
o_s = []
libc_files = [
'dlmalloc.c',
+ os.path.join('libcxx', 'new.cpp'),
os.path.join('libc', 'stdlib', 'getopt_long.c'),
os.path.join('libc', 'gen', 'err.c'),
os.path.join('libc', 'gen', 'errx.c'),
@@ -1165,8 +1166,7 @@ try:
'ios.cpp',
'locale.cpp',
'regex.cpp',
- 'strstream.cpp',
- 'typeinfo.cpp'
+ 'strstream.cpp'
]
for src in libcxx_files:
o = in_temp(src + '.o')
@@ -1189,14 +1189,8 @@ try:
if DEBUG: print >> sys.stderr, 'emcc: building libcxxabi for cache'
os = []
libcxxabi_files = [
- 'abort_message.cpp',
- 'private_typeinfo.cpp',
'typeinfo.cpp',
- 'cxa_new_delete.cpp',
- 'cxa_handlers.cpp',
- 'stdexcept.cpp',
- 'exception.cpp',
- 'cxa_exception_storage.cpp']:
+ 'private_typeinfo.cpp'
]
for src in libcxxabi_files:
o = in_temp(src + '.o')
diff --git a/system/lib/libc.symbols b/system/lib/libc.symbols
index cd498651..96e995cf 100644
--- a/system/lib/libc.symbols
+++ b/system/lib/libc.symbols
@@ -1,3 +1,33 @@
+_ZNKSt20bad_array_new_length4whatEv
+_ZNKSt9bad_alloc4whatEv
+_ZNSt20bad_array_new_lengthC1Ev
+_ZNSt20bad_array_new_lengthC2Ev
+_ZNSt20bad_array_new_lengthD0Ev
+_ZNSt20bad_array_new_lengthD1Ev
+_ZNSt20bad_array_new_lengthD2Ev
+_ZNSt9bad_allocC1Ev
+_ZNSt9bad_allocC2Ev
+_ZNSt9bad_allocD0Ev
+_ZNSt9bad_allocD1Ev
+_ZNSt9bad_allocD2Ev
+_ZSt15get_new_handlerv
+_ZSt15set_new_handlerPFvvE
+_ZSt17__throw_bad_allocv
+_ZSt7nothrow
+_ZTISt20bad_array_new_length
+_ZTISt9bad_alloc
+_ZTSSt20bad_array_new_length
+_ZTSSt9bad_alloc
+_ZTVSt20bad_array_new_length
+_ZTVSt9bad_alloc
+_ZdaPv
+_ZdaPvRKSt9nothrow_t
+_ZdlPv
+_ZdlPvRKSt9nothrow_t
+_Znaj
+_ZnajRKSt9nothrow_t
+_Znwj
+_ZnwjRKSt9nothrow_t
_err
_errx
_verr
diff --git a/system/lib/libcxx/exception.cpp b/system/lib/libcxx/exception.cpp
index 0cd182b7..8d5ded4d 100644
--- a/system/lib/libcxx/exception.cpp
+++ b/system/lib/libcxx/exception.cpp
@@ -77,6 +77,7 @@ get_terminate() _NOEXCEPT
return __sync_fetch_and_add(&__terminate_handler, (terminate_handler)0);
}
+#ifndef EMSCRIPTEN // We provide this in JS
_LIBCPP_NORETURN
void
terminate() _NOEXCEPT
@@ -97,9 +98,10 @@ terminate() _NOEXCEPT
}
#endif // _LIBCPP_NO_EXCEPTIONS
}
+#endif // !EMSCRIPTEN
#endif // !defined(LIBCXXRT) && !defined(_LIBCPPABI_VERSION)
-#if !defined(LIBCXXRT) && !defined(__GLIBCXX__)
+#if !defined(LIBCXXRT) && !defined(__GLIBCXX__) && !defined(EMSCRIPTEN)
bool uncaught_exception() _NOEXCEPT
{
#if __APPLE__ || defined(_LIBCPPABI_VERSION)
diff --git a/system/lib/libcxx/symbols b/system/lib/libcxx/symbols
index 2a9b5186..7e2072bc 100644
--- a/system/lib/libcxx/symbols
+++ b/system/lib/libcxx/symbols
@@ -1,44 +1,6 @@
- t _GLOBAL__I_a
- t _GLOBAL__I_a23
- d _ZGVZNKSt3__120__time_get_c_storageIcE3__XEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIcE3__cEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIcE3__rEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIcE3__xEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIcE7__am_pmEvE5am_pm
- d _ZGVZNKSt3__120__time_get_c_storageIcE7__weeksEvE5weeks
- d _ZGVZNKSt3__120__time_get_c_storageIcE8__monthsEvE6months
- d _ZGVZNKSt3__120__time_get_c_storageIwE3__XEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIwE3__cEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIwE3__rEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIwE3__xEvE1s
- d _ZGVZNKSt3__120__time_get_c_storageIwE7__am_pmEvE5am_pm
- d _ZGVZNKSt3__120__time_get_c_storageIwE7__weeksEvE5weeks
- d _ZGVZNKSt3__120__time_get_c_storageIwE8__monthsEvE6months
- d _ZGVZNSt3__112_GLOBAL__N_13mutEvE1m
- d _ZGVZNSt3__112__get_sp_mutEPKvE4muts
- d _ZGVZNSt3__112__rs_defaultclEvE6__rs_g
- d _ZGVZNSt3__115future_categoryEvE3__f
- d _ZGVZNSt3__115system_categoryEvE1s
- d _ZGVZNSt3__116generic_categoryEvE1s
- d _ZGVZNSt3__117iostream_categoryEvE1s
- d _ZGVZNSt3__119__thread_local_dataEvE3__p
- d _ZGVZNSt3__16__clocEvE6result
- d _ZGVZNSt3__16locale7classicEvE1c
- d _ZGVZNSt3__16locale8__globalEvE1g
- d _ZGVZNSt3__18__get_dbEvE2db
- d _ZGVZNSt3__1L10init_am_pmEvE5am_pm
- d _ZGVZNSt3__1L10init_weeksEvE5weeks
- d _ZGVZNSt3__1L11init_monthsEvE6months
- d _ZGVZNSt3__1L11init_wam_pmEvE5am_pm
- d _ZGVZNSt3__1L11init_wweeksEvE5weeks
- d _ZGVZNSt3__1L12init_wmonthsEvE6months
- t _ZN12_GLOBAL__N_114__libcpp_nmstrC1EPKc
- t _ZN12_GLOBAL__N_114__libcpp_nmstrC1ERKS0_
- t _ZN12_GLOBAL__N_114__libcpp_nmstrC2EPKc
- t _ZN12_GLOBAL__N_114__libcpp_nmstrC2ERKS0_
- t _ZN12_GLOBAL__N_114__libcpp_nmstraSERKS0_
- t _ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv
- t _ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv
+ T _ZNKSt11logic_error4whatEv
+ T _ZNKSt13bad_exception4whatEv
+ T _ZNKSt13runtime_error4whatEv
T _ZNKSt16nested_exception14rethrow_nestedEv
T _ZNKSt3__110__time_put8__do_putEPcRS1_PK2tmcc
T _ZNKSt3__110__time_put8__do_putEPwRS1_PK2tmcc
@@ -125,7 +87,6 @@
T _ZNKSt3__111__libcpp_db6unlockEv
T _ZNKSt3__111__libcpp_db8__find_cEPv
T _ZNKSt3__111__libcpp_db9__addableEPKvi
- t _ZNKSt3__112_GLOBAL__N_111__fake_bindclEv
T _ZNKSt3__112__do_message7messageEi
T _ZNKSt3__112bad_weak_ptr4whatEv
W _ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12__invariantsEv
@@ -749,7 +710,25 @@
T _ZNSt11logic_errorC2EPKc
T _ZNSt11logic_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
T _ZNSt11logic_errorC2ERKS_
+ T _ZNSt11logic_errorD0Ev
+ T _ZNSt11logic_errorD1Ev
+ T _ZNSt11logic_errorD2Ev
T _ZNSt11logic_erroraSERKS_
+ T _ZNSt11range_errorD0Ev
+ T _ZNSt11range_errorD1Ev
+ T _ZNSt11range_errorD2Ev
+ T _ZNSt12domain_errorD0Ev
+ T _ZNSt12domain_errorD1Ev
+ T _ZNSt12domain_errorD2Ev
+ T _ZNSt12length_errorD0Ev
+ T _ZNSt12length_errorD1Ev
+ T _ZNSt12length_errorD2Ev
+ T _ZNSt12out_of_rangeD0Ev
+ T _ZNSt12out_of_rangeD1Ev
+ T _ZNSt12out_of_rangeD2Ev
+ T _ZNSt13bad_exceptionD0Ev
+ T _ZNSt13bad_exceptionD1Ev
+ T _ZNSt13bad_exceptionD2Ev
T _ZNSt13exception_ptrC1ERKS_
T _ZNSt13exception_ptrC2ERKS_
T _ZNSt13exception_ptrD1Ev
@@ -761,7 +740,19 @@
T _ZNSt13runtime_errorC2EPKc
T _ZNSt13runtime_errorC2ERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE
T _ZNSt13runtime_errorC2ERKS_
+ T _ZNSt13runtime_errorD0Ev
+ T _ZNSt13runtime_errorD1Ev
+ T _ZNSt13runtime_errorD2Ev
T _ZNSt13runtime_erroraSERKS_
+ T _ZNSt14overflow_errorD0Ev
+ T _ZNSt14overflow_errorD1Ev
+ T _ZNSt14overflow_errorD2Ev
+ T _ZNSt15underflow_errorD0Ev
+ T _ZNSt15underflow_errorD1Ev
+ T _ZNSt15underflow_errorD2Ev
+ T _ZNSt16invalid_argumentD0Ev
+ T _ZNSt16invalid_argumentD1Ev
+ T _ZNSt16invalid_argumentD2Ev
T _ZNSt16nested_exceptionC1Ev
T _ZNSt16nested_exceptionC2Ev
T _ZNSt16nested_exceptionD0Ev
@@ -919,51 +910,6 @@
T _ZNSt3__111timed_mutexD2Ev
D _ZNSt3__111try_to_lockE
C _ZNSt3__111unique_lockINS_5mutexEE6unlockEv
- t _ZNSt3__112_GLOBAL__N_110use_strcmpclERKNS0_10classnamesEPKc
- t _ZNSt3__112_GLOBAL__N_110use_strcmpclERKNS0_14collationnamesEPKc
- t _ZNSt3__112_GLOBAL__N_111__fake_bindC1EMNS_6locale2idEFvvEPS3_
- t _ZNSt3__112_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_
- t _ZNSt3__112_GLOBAL__N_13mutEv
- t _ZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_5ctypeIcEEPtbjEERT_T0_T1_T2_
- t _ZNSt3__112_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDic10_mbstate_tEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDsc10_mbstate_tEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7codecvtIcc10_mbstate_tEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7codecvtIwc10_mbstate_tEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_
- t _ZNSt3__112_GLOBAL__N_17countofIcEEjPKT_S4_
- t _ZNSt3__112_GLOBAL__N_17countofIcLj100EEEjRAT0__KT_
- t _ZNSt3__112_GLOBAL__N_17countofIwEEjPKT_S4_
- t _ZNSt3__112_GLOBAL__N_17countofIwLj100EEEjRAT0__KT_
- t _ZNSt3__112_GLOBAL__N_17releaseclEPNS_6locale5facetE
- t _ZNSt3__112_GLOBAL__N_19decrementIlEET_RS2_
- t _ZNSt3__112_GLOBAL__N_19incrementIlEET_RS2_
- d _ZNSt3__112_GLOBAL__N_1L10ClassNamesE
- d _ZNSt3__112_GLOBAL__N_1L12collatenamesE
- d _ZNSt3__112_GLOBAL__N_1L12small_primesE
- d _ZNSt3__112_GLOBAL__N_1L7indicesE
C _ZNSt3__112__asprintf_lEPPcPvPKcz
C _ZNSt3__112__do_messageC2Ev
C _ZNSt3__112__do_messageD0Ev
@@ -1314,8 +1260,6 @@
T _ZNSt3__112system_errorD0Ev
T _ZNSt3__112system_errorD1Ev
T _ZNSt3__112system_errorD2Ev
- t _ZNSt3__113__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_10classnamesEPKcEET0_S9_S9_RKT1_T_
- t _ZNSt3__113__lower_boundIRNS_12_GLOBAL__N_110use_strcmpEPKNS1_14collationnamesEPKcEET0_S9_S9_RKT1_T_
C _ZNSt3__113__lower_boundIRNS_6__lessIjjEEPKjjEET0_S6_S6_RKT1_T_
C _ZNSt3__113__rotate_leftINS_11__wrap_iterIPcEEEET_S4_S4_
C _ZNSt3__113__rotate_leftINS_11__wrap_iterIPwEEEET_S4_S4_
@@ -1805,7 +1749,6 @@
C _ZNSt3__117__assoc_sub_stateD0Ev
C _ZNSt3__117__assoc_sub_stateD1Ev
C _ZNSt3__117__assoc_sub_stateD2Ev
- t _ZNSt3__117__call_once_proxyINS_5tupleIJNS_12_GLOBAL__N_111__fake_bindEEEEEEvPv
T _ZNSt3__117__widen_from_utf8ILj16EED0Ev
T _ZNSt3__117__widen_from_utf8ILj16EED1Ev
T _ZNSt3__117__widen_from_utf8ILj16EED2Ev
@@ -2544,53 +2487,15 @@
T _ZNSt3__19to_stringEm
T _ZNSt3__19to_stringEx
T _ZNSt3__19to_stringEy
- t _ZNSt3__1L10__init_patIcEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_
- t _ZNSt3__1L10__init_patIwEEvRNS_10money_base7patternERNS_12basic_stringIT_NS_11char_traitsIS5_EENS_9allocatorIS5_EEEEbcccS5_
- t _ZNSt3__1L10init_am_pmEv
- t _ZNSt3__1L10init_weeksEv
- t _ZNSt3__1L11init_monthsEv
- t _ZNSt3__1L11init_wam_pmEv
- t _ZNSt3__1L11init_wweeksEv
- t _ZNSt3__1L12init_wmonthsEv
- t _ZNSt3__1L12ucs2_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L12utf8_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L13utf16_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L13utf8_to_utf16EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15ucs2_to_utf16beEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15ucs2_to_utf16leEPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15ucs4_to_utf16beEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15ucs4_to_utf16leEPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15utf16be_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15utf16be_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15utf16le_to_ucs2EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L15utf16le_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE
- t _ZNSt3__1L19utf8_to_ucs2_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L19utf8_to_ucs4_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L20utf8_to_utf16_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L22make_error_type_stringENS_15regex_constants10error_typeE
- t _ZNSt3__1L22utf16be_to_ucs2_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L22utf16be_to_ucs4_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L22utf16le_to_ucs2_lengthEPKhS1_jmNS_12codecvt_modeE
- t _ZNSt3__1L22utf16le_to_ucs4_lengthEPKhS1_jmNS_12codecvt_modeE
- d _ZNSt3__1L2cvE
- d _ZNSt3__1L3mutE
- d _ZNSt3__1L5__cinE
- d _ZNSt3__1L6__cerrE
- d _ZNSt3__1L6__coutE
- d _ZNSt3__1L6__wcinE
- d _ZNSt3__1L7__wcerrE
- d _ZNSt3__1L7__wcoutE
- d _ZNSt3__1L8__rs_mutE
- d _ZNSt3__1L8mut_backE
W _ZNSt3__1plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_
+ T _ZSt10unexpectedv
+ T _ZSt13get_terminatev
+ T _ZSt13set_terminatePFvvE
+ T _ZSt14get_unexpectedv
+ T _ZSt14set_unexpectedPFvvE
T _ZSt17current_exceptionv
T _ZSt17rethrow_exceptionSt13exception_ptr
C _ZSt18make_exception_ptrINSt3__112future_errorEESt13exception_ptrT_
- T _ZSt18uncaught_exceptionv
D _ZTCNSt3__110istrstreamE0_NS_13basic_istreamIcNS_11char_traitsIcEEEE
D _ZTCNSt3__110ostrstreamE0_NS_13basic_ostreamIcNS_11char_traitsIcEEEE
W _ZTCNSt3__114basic_iostreamIcNS_11char_traitsIcEEEE0_NS_13basic_istreamIcS2_EE
@@ -2720,6 +2625,16 @@
W _ZTINSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE
D _ZTINSt3__19strstreamE
C _ZTINSt3__19time_baseE
+ D _ZTISt11logic_error
+ D _ZTISt11range_error
+ D _ZTISt12domain_error
+ D _ZTISt12length_error
+ D _ZTISt12out_of_range
+ D _ZTISt13bad_exception
+ D _ZTISt13runtime_error
+ D _ZTISt14overflow_error
+ D _ZTISt15underflow_error
+ D _ZTISt16invalid_argument
D _ZTISt16nested_exception
C _ZTSNSt3__110__stdinbufIcEE
C _ZTSNSt3__110__stdinbufIwEE
@@ -2843,6 +2758,16 @@
W _ZTSNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE
D _ZTSNSt3__19strstreamE
C _ZTSNSt3__19time_baseE
+ D _ZTSSt11logic_error
+ D _ZTSSt11range_error
+ D _ZTSSt12domain_error
+ D _ZTSSt12length_error
+ D _ZTSSt12out_of_range
+ D _ZTSSt13bad_exception
+ D _ZTSSt13runtime_error
+ D _ZTSSt14overflow_error
+ D _ZTSSt15underflow_error
+ D _ZTSSt16invalid_argument
D _ZTSSt16nested_exception
D _ZTTNSt3__110istrstreamE
D _ZTTNSt3__110ostrstreamE
@@ -2955,6 +2880,16 @@
W _ZTVNSt3__19money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEE
W _ZTVNSt3__19money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEE
D _ZTVNSt3__19strstreamE
+ D _ZTVSt11logic_error
+ D _ZTVSt11range_error
+ D _ZTVSt12domain_error
+ D _ZTVSt12length_error
+ D _ZTVSt12out_of_range
+ D _ZTVSt13bad_exception
+ D _ZTVSt13runtime_error
+ D _ZTVSt14overflow_error
+ D _ZTVSt15underflow_error
+ D _ZTVSt16invalid_argument
D _ZTVSt16nested_exception
W _ZThn8_NKSt3__115time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__XEv
W _ZThn8_NKSt3__115time_get_bynameIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3__cEv
@@ -2990,93 +2925,4 @@
W _ZTv0_n12_NSt3__114basic_iostreamIcNS_11char_traitsIcEEED1Ev
T _ZTv0_n12_NSt3__19strstreamD0Ev
T _ZTv0_n12_NSt3__19strstreamD1Ev
- d _ZZNKSt3__120__time_get_c_storageIcE3__XEvE1s
- d _ZZNKSt3__120__time_get_c_storageIcE3__cEvE1s
- d _ZZNKSt3__120__time_get_c_storageIcE3__rEvE1s
- d _ZZNKSt3__120__time_get_c_storageIcE3__xEvE1s
- d _ZZNKSt3__120__time_get_c_storageIcE7__am_pmEvE5am_pm
- d _ZZNKSt3__120__time_get_c_storageIcE7__weeksEvE5weeks
- d _ZZNKSt3__120__time_get_c_storageIcE8__monthsEvE6months
- d _ZZNKSt3__120__time_get_c_storageIwE3__XEvE1s
- d _ZZNKSt3__120__time_get_c_storageIwE3__cEvE1s
- d _ZZNKSt3__120__time_get_c_storageIwE3__rEvE1s
- d _ZZNKSt3__120__time_get_c_storageIwE3__xEvE1s
- d _ZZNKSt3__120__time_get_c_storageIwE7__am_pmEvE5am_pm
- d _ZZNKSt3__120__time_get_c_storageIwE7__weeksEvE5weeks
- d _ZZNKSt3__120__time_get_c_storageIwE8__monthsEvE6months
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tmE5__fmt
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm5
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm6
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm7
- d _ZZNKSt3__18time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm8
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tmE5__fmt
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm10
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm11
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm12
- d _ZZNKSt3__18time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmccE4__fm9
- d _ZZNKSt3__19money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjReE5__src
- d _ZZNKSt3__19money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjReE5__src
- d _ZZNSt3__112_GLOBAL__N_13mutEvE1m
- d _ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIcEEPtbjEERT_T0_T1_T2_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDic10_mbstate_tEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIDsc10_mbstate_tEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIcc10_mbstate_tEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7codecvtIwc10_mbstate_tEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_E3buf
- d _ZZNSt3__112__get_sp_mutEPKvE4muts
- d _ZZNSt3__112__rs_defaultclEvE6__rs_g
- d _ZZNSt3__115future_categoryEvE3__f
- d _ZZNSt3__115system_categoryEvE1s
- d _ZZNSt3__116generic_categoryEvE1s
- d _ZZNSt3__117iostream_categoryEvE1s
- d _ZZNSt3__119__thread_local_dataEvE3__p
- d _ZZNSt3__16__clocEvE6result
- d _ZZNSt3__16locale5__imp11make_globalEvE3buf
- d _ZZNSt3__16locale5__imp12make_classicEvE3buf
- d _ZZNSt3__16locale7classicEvE1c
- d _ZZNSt3__16locale8__globalEvE1g
- d _ZZNSt3__18__get_dbEvE2db
- d _ZZNSt3__18ios_base15sync_with_stdioEbE14previous_state
- d _ZZNSt3__18ios_base5iwordEiE5error
- d _ZZNSt3__18ios_base5pwordEiE5error
- d _ZZNSt3__1L10init_am_pmEvE5am_pm
- d _ZZNSt3__1L10init_weeksEvE5weeks
- d _ZZNSt3__1L11init_monthsEvE6months
- d _ZZNSt3__1L11init_wam_pmEvE5am_pm
- d _ZZNSt3__1L11init_wweeksEvE5weeks
- d _ZZNSt3__1L12init_wmonthsEvE6months
- t __cxx_global_array_dtor
- t __cxx_global_array_dtor105
- t __cxx_global_array_dtor120
- t __cxx_global_array_dtor281
- t __cxx_global_array_dtor53
- t __cxx_global_array_dtor56
- t __cxx_global_array_dtor81
- t __cxx_global_var_init
- t __cxx_global_var_init22
D llvm.global_ctors
diff --git a/system/lib/libcxxabi/symbols b/system/lib/libcxxabi/symbols
index 80867b8b..a02a6411 100644
--- a/system/lib/libcxxabi/symbols
+++ b/system/lib/libcxxabi/symbols
@@ -32,8 +32,6 @@
T _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev
T _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev
C _ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b
- t _ZN12_GLOBAL__N_114__libcpp_nmstrD1Ev
- t _ZN12_GLOBAL__N_114__libcpp_nmstrD2Ev
T _ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv
T _ZNK10__cxxabiv116__shim_type_info5noop1Ev
T _ZNK10__cxxabiv116__shim_type_info5noop2Ev
@@ -58,80 +56,21 @@
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 _ZNK12_GLOBAL__N_114__libcpp_nmstr5c_strEv
- t _ZNK12_GLOBAL__N_114__libcpp_nmstr5countEv
T _ZNKSt10bad_typeid4whatEv
- T _ZNKSt11logic_error4whatEv
- T _ZNKSt13bad_exception4whatEv
- T _ZNKSt13runtime_error4whatEv
- T _ZNKSt20bad_array_new_length4whatEv
T _ZNKSt8bad_cast4whatEv
- T _ZNKSt9bad_alloc4whatEv
- T _ZNKSt9exception4whatEv
T _ZNSt10bad_typeidC1Ev
T _ZNSt10bad_typeidC2Ev
T _ZNSt10bad_typeidD0Ev
T _ZNSt10bad_typeidD1Ev
T _ZNSt10bad_typeidD2Ev
- T _ZNSt11logic_errorD0Ev
- T _ZNSt11logic_errorD1Ev
- T _ZNSt11logic_errorD2Ev
- T _ZNSt11range_errorD0Ev
- T _ZNSt11range_errorD1Ev
- T _ZNSt11range_errorD2Ev
- T _ZNSt12domain_errorD0Ev
- T _ZNSt12domain_errorD1Ev
- T _ZNSt12domain_errorD2Ev
- T _ZNSt12length_errorD0Ev
- T _ZNSt12length_errorD1Ev
- T _ZNSt12length_errorD2Ev
- T _ZNSt12out_of_rangeD0Ev
- T _ZNSt12out_of_rangeD1Ev
- T _ZNSt12out_of_rangeD2Ev
- T _ZNSt13bad_exceptionD0Ev
- T _ZNSt13bad_exceptionD1Ev
- T _ZNSt13bad_exceptionD2Ev
- T _ZNSt13runtime_errorD0Ev
- T _ZNSt13runtime_errorD1Ev
- T _ZNSt13runtime_errorD2Ev
- T _ZNSt14overflow_errorD0Ev
- T _ZNSt14overflow_errorD1Ev
- T _ZNSt14overflow_errorD2Ev
- T _ZNSt15underflow_errorD0Ev
- T _ZNSt15underflow_errorD1Ev
- T _ZNSt15underflow_errorD2Ev
- T _ZNSt16invalid_argumentD0Ev
- T _ZNSt16invalid_argumentD1Ev
- T _ZNSt16invalid_argumentD2Ev
- T _ZNSt20bad_array_new_lengthC1Ev
- T _ZNSt20bad_array_new_lengthC2Ev
- T _ZNSt20bad_array_new_lengthD0Ev
- T _ZNSt20bad_array_new_lengthD1Ev
- T _ZNSt20bad_array_new_lengthD2Ev
T _ZNSt8bad_castC1Ev
T _ZNSt8bad_castC2Ev
T _ZNSt8bad_castD0Ev
T _ZNSt8bad_castD1Ev
T _ZNSt8bad_castD2Ev
- T _ZNSt9bad_allocC1Ev
- T _ZNSt9bad_allocC2Ev
- T _ZNSt9bad_allocD0Ev
- T _ZNSt9bad_allocD1Ev
- T _ZNSt9bad_allocD2Ev
- T _ZNSt9exceptionD0Ev
- T _ZNSt9exceptionD1Ev
- T _ZNSt9exceptionD2Ev
T _ZNSt9type_infoD0Ev
T _ZNSt9type_infoD1Ev
T _ZNSt9type_infoD2Ev
- T _ZSt10unexpectedv
- T _ZSt11__terminatePFvvE
- T _ZSt12__unexpectedPFvvE
- T _ZSt13get_terminatev
- T _ZSt14get_unexpectedv
- T _ZSt15get_new_handlerv
- T _ZSt15set_new_handlerPFvvE
- T _ZSt9terminatev
D _ZTIDi
D _ZTIDn
D _ZTIDs
@@ -146,7 +85,6 @@
D _ZTIN10__cxxabiv121__vmi_class_type_infoE
D _ZTIN10__cxxabiv123__fundamental_type_infoE
D _ZTIN10__cxxabiv129__pointer_to_member_type_infoE
- C _ZTINSt3__19nullptr_tE
D _ZTIPDi
D _ZTIPDn
D _ZTIPDs
@@ -188,20 +126,7 @@
D _ZTIPx
D _ZTIPy
D _ZTISt10bad_typeid
- D _ZTISt11logic_error
- D _ZTISt11range_error
- D _ZTISt12domain_error
- D _ZTISt12length_error
- D _ZTISt12out_of_range
- D _ZTISt13bad_exception
- D _ZTISt13runtime_error
- D _ZTISt14overflow_error
- D _ZTISt15underflow_error
- D _ZTISt16invalid_argument
- D _ZTISt20bad_array_new_length
D _ZTISt8bad_cast
- D _ZTISt9bad_alloc
- D _ZTISt9exception
D _ZTISt9type_info
D _ZTIa
D _ZTIb
@@ -234,7 +159,6 @@
D _ZTSN10__cxxabiv121__vmi_class_type_infoE
D _ZTSN10__cxxabiv123__fundamental_type_infoE
D _ZTSN10__cxxabiv129__pointer_to_member_type_infoE
- C _ZTSNSt3__19nullptr_tE
D _ZTSPDi
D _ZTSPDn
D _ZTSPDs
@@ -276,20 +200,7 @@
D _ZTSPx
D _ZTSPy
D _ZTSSt10bad_typeid
- D _ZTSSt11logic_error
- D _ZTSSt11range_error
- D _ZTSSt12domain_error
- D _ZTSSt12length_error
- D _ZTSSt12out_of_range
- D _ZTSSt13bad_exception
- D _ZTSSt13runtime_error
- D _ZTSSt14overflow_error
- D _ZTSSt15underflow_error
- D _ZTSSt16invalid_argument
- D _ZTSSt20bad_array_new_length
D _ZTSSt8bad_cast
- D _ZTSSt9bad_alloc
- D _ZTSSt9exception
D _ZTSSt9type_info
D _ZTSa
D _ZTSb
@@ -320,28 +231,6 @@
D _ZTVN10__cxxabiv123__fundamental_type_infoE
D _ZTVN10__cxxabiv129__pointer_to_member_type_infoE
D _ZTVSt10bad_typeid
- D _ZTVSt11logic_error
- D _ZTVSt11range_error
- D _ZTVSt12domain_error
- D _ZTVSt12length_error
- D _ZTVSt12out_of_range
- D _ZTVSt13bad_exception
- D _ZTVSt13runtime_error
- D _ZTVSt14overflow_error
- D _ZTVSt15underflow_error
- D _ZTVSt16invalid_argument
- D _ZTVSt20bad_array_new_length
D _ZTVSt8bad_cast
- D _ZTVSt9bad_alloc
- D _ZTVSt9exception
D _ZTVSt9type_info
- W _ZdaPv
- W _ZdaPvRKSt9nothrow_t
- W _ZdlPv
- W _ZdlPvRKSt9nothrow_t
- W _Znaj
- W _ZnajRKSt9nothrow_t
- W _Znwj
- W _ZnwjRKSt9nothrow_t
- D __cxa_new_handler
T __dynamic_cast
diff --git a/tools/shared.py b/tools/shared.py
index 7b667782..7514171c 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -393,7 +393,6 @@ if USE_EMSDK:
'-Xclang', '-isystem' + path_from_root('system', 'include', 'emscripten'),
'-Xclang', '-isystem' + path_from_root('system', 'include', 'bsd'), # posix stuff
'-Xclang', '-isystem' + path_from_root('system', 'include', 'libc'),
- '-Xclang', '-isystem' + path_from_root('system', 'lib', 'libcxxabi', 'include'),
'-Xclang', '-isystem' + path_from_root('system', 'include', 'gfx'),
'-Xclang', '-isystem' + path_from_root('system', 'include', 'net'),
'-Xclang', '-isystem' + path_from_root('system', 'include', 'SDL'),