diff --git a/libraries/mbed/common/exit.c b/libraries/mbed/common/exit.c index 1785b386e6..f1f4bc2ca1 100644 --- a/libraries/mbed/common/exit.c +++ b/libraries/mbed/common/exit.c @@ -15,7 +15,6 @@ */ #include "semihost_api.h" #include "mbed_interface.h" -#include "toolchain.h" #ifdef TOOLCHAIN_GCC_CW // TODO: Ideally, we would like to define directly "_ExitProcess" @@ -35,9 +34,3 @@ void exit(int return_code) { while (1); } - -WEAK void __cxa_pure_virtual(void); -WEAK void __cxa_pure_virtual(void) { - exit(1); -} - diff --git a/libraries/mbed/common/stdio.cpp b/libraries/mbed/common/retarget.cpp similarity index 98% rename from libraries/mbed/common/stdio.cpp rename to libraries/mbed/common/retarget.cpp index 116dff5130..b6c022a362 100644 --- a/libraries/mbed/common/stdio.cpp +++ b/libraries/mbed/common/retarget.cpp @@ -18,6 +18,7 @@ #include "FileSystemLike.h" #include "FilePath.h" #include "serial_api.h" +#include "toolchain.h" #include #if defined(__ARMCC_VERSION) @@ -386,4 +387,9 @@ namespace __gnu_cxx { error("Exception"); } } +extern "C" WEAK void __cxa_pure_virtual(void); +extern "C" WEAK void __cxa_pure_virtual(void) { + exit(1); +} + #endif