From a5ba02231106d70330e8b01dd60edba922e11f86 Mon Sep 17 00:00:00 2001
From: barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4>
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 <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
-- 
cgit v1.2.3