Index: contrib/libcxxrt/auxhelper.cc =================================================================== --- contrib/libcxxrt/auxhelper.cc +++ contrib/libcxxrt/auxhelper.cc @@ -75,3 +75,7 @@ { abort(); } + +extern "C" void __cxa_throw_bad_array_new_length(void) { + throw std::bad_array_new_length(); +} Index: contrib/libcxxrt/stdexcept.h =================================================================== --- contrib/libcxxrt/stdexcept.h +++ contrib/libcxxrt/stdexcept.h @@ -81,6 +81,15 @@ virtual const char* what() const throw(); }; + class bad_array_new_length: public exception + { + public: + bad_array_new_length() throw(); + bad_array_new_length(const bad_array_new_length&) throw(); + bad_array_new_length& operator=(const bad_array_new_length&) throw(); + virtual ~bad_array_new_length(); + virtual const char *what() const throw(); + }; } // namespace std Index: lib/libcxxrt/Version.map =================================================================== --- lib/libcxxrt/Version.map +++ lib/libcxxrt/Version.map @@ -26,6 +26,7 @@ __cxa_pure_virtual; __cxa_rethrow; __cxa_throw; + __cxa_throw_bad_array_new_length; __cxa_type_match; __cxa_vec_cctor; __cxa_vec_cleanup;