diff options
Diffstat (limited to 'os/various/cpp_wrappers/syscalls_cpp.cpp')
-rw-r--r-- | os/various/cpp_wrappers/syscalls_cpp.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
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 <stdio.h>
+#include <errno.h>
+
+#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
|