From a5ba02231106d70330e8b01dd60edba922e11f86 Mon Sep 17 00:00:00 2001 From: barthess Date: Sun, 3 Aug 2014 20:23:16 +0000 Subject: CPP wrappers ported to Chibios v3. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7118 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/cpp_wrappers/syscalls_cpp.cpp | 78 ++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 os/various/cpp_wrappers/syscalls_cpp.cpp (limited to 'os/various/cpp_wrappers/syscalls_cpp.cpp') diff --git a/os/various/cpp_wrappers/syscalls_cpp.cpp b/os/various/cpp_wrappers/syscalls_cpp.cpp new file mode 100644 index 000000000..84a449a9f --- /dev/null +++ b/os/various/cpp_wrappers/syscalls_cpp.cpp @@ -0,0 +1,78 @@ +#include +#include + +#include "osal.h" + +#include "syscalls_cpp.hpp" + +/** + * + */ +#ifdef __cplusplus +extern "C" { +#endif +void _exit(int status){ + (void) status; + osalSysHalt("Unrealized"); + while(TRUE){} +} +#ifdef __cplusplus +} +#endif + +/** + * + */ +#ifdef __cplusplus +extern "C" { +#endif +pid_t _getpid(void){ + return 1; +} +#ifdef __cplusplus +} +#endif + +/** + * + */ +#undef errno +extern int errno; +#ifdef __cplusplus +extern "C" { +#endif +int _kill(int pid, int sig) { + (void)pid; + (void)sig; + errno = EINVAL; + return -1; +} +#ifdef __cplusplus +} +#endif + +/** + * + */ +#ifdef __cplusplus +extern "C" { +#endif +void _open_r(void){ + return; +} +#ifdef __cplusplus +} +#endif + +/** + * + */ +#ifdef __cplusplus +extern "C" { +#endif + void __cxa_pure_virtual() { + osalSysHalt("Pure virtual function call."); + } +#ifdef __cplusplus +} +#endif -- cgit v1.2.3