]> granicus.if.org Git - esp-idf/commitdiff
cxx_exceptions: Add missing stubs for cxx exceptions with exceptions
authorAmey Inamdar <amey.inamdar@gmail.com>
Tue, 21 Nov 2017 07:11:49 +0000 (12:41 +0530)
committerAmey Inamdar <amey.inamdar@gmail.com>
Tue, 21 Nov 2017 07:11:49 +0000 (12:41 +0530)
disabled

The misssing stubs get pulled in from the toolchain's libstdc++ also
causing to pull in defined stubs. This results in redefinition of
symbols. Fixing it by simply adding the missing stubs when exceptions
are disabled.

Signed-off-by: Amey Inamdar <amey.inamdar@gmail.com>
components/cxx/cxx_exception_stubs.cpp

index 4c914b2b71283769cd3a478906e95fd26c9ac165..3f7632c6d5e34c5861cb9defed1b015cb326340c 100644 (file)
@@ -74,10 +74,12 @@ void std::__throw_future_error(int) __attribute__((alias("__cxx_fatal_exception_
 */
 
 extern "C" void __cxa_allocate_exception(void) __attribute__((alias("__cxx_fatal_exception")));
+extern "C" void __cxa_allocate_dependent_exception(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_begin_catch(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_end_catch(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_get_exception_ptr(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_free_exception(void) __attribute__((alias("__cxx_fatal_exception")));
+extern "C" void __cxa_free_dependent_exception(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_rethrow(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_throw(void) __attribute__((alias("__cxx_fatal_exception")));
 extern "C" void __cxa_call_terminate(void) __attribute__((alias("__cxx_fatal_exception")));