summaryrefslogtreecommitdiff
path: root/os
diff options
context:
space:
mode:
authorNicolas "Pixel" Noble <pixel@nobis-crew.org>2011-01-24 18:23:01 +0100
committerNicolas "Pixel" Noble <pixel@nobis-crew.org>2011-01-24 19:43:52 +0100
commiteee119de6a2bd0487e91daf69e7962351e2a3c9c (patch)
treee0e3bbe6d234e30216a83b65abafadf9f4df75f3 /os
parent965df7faefabdd5f571b5eb46d45470223c91e12 (diff)
Dummy software compiles; fixed a few linking issues. Also, most of the kernel syscalls are missing.
Diffstat (limited to 'os')
-rw-r--r--os/Makefile2
-rw-r--r--os/src/close.c4
-rw-r--r--os/src/fclose.c6
-rw-r--r--os/src/free.c5
-rw-r--r--os/src/lseek.c4
-rw-r--r--os/src/malloc.c5
-rw-r--r--os/src/read.c5
-rw-r--r--os/src/sprintf.c10
-rw-r--r--os/src/write.c4
9 files changed, 44 insertions, 1 deletions
diff --git a/os/Makefile b/os/Makefile
index 070566d..c19d685 100644
--- a/os/Makefile
+++ b/os/Makefile
@@ -6,7 +6,7 @@ include $(ROOTDIR)/common.mk
include config.mk
include $(ROOTDIR)/FreeRTOS/config.mk
-TARGET_SRCS = src/init.c src/sbrk.c
+TARGET_SRCS = src/init.c src/sbrk.c src/sprintf.c src/malloc.c src/free.c src/fclose.c src/read.c src/lseek.c src/write.c src/close.c
include $(ROOTDIR)/target-rules.mk
diff --git a/os/src/close.c b/os/src/close.c
new file mode 100644
index 0000000..46ee8c5
--- /dev/null
+++ b/os/src/close.c
@@ -0,0 +1,4 @@
+#include <reent.h>
+
+int _close_r(struct _reent * reent, int fd) {
+}
diff --git a/os/src/fclose.c b/os/src/fclose.c
new file mode 100644
index 0000000..fe81f62
--- /dev/null
+++ b/os/src/fclose.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+#include <reent.h>
+
+int fclose(FILE * fp) {
+ return _fclose_r(_impure_ptr, fp);
+}
diff --git a/os/src/free.c b/os/src/free.c
new file mode 100644
index 0000000..f2d1fe5
--- /dev/null
+++ b/os/src/free.c
@@ -0,0 +1,5 @@
+#include <reent.h>
+
+void free(void * ptr) {
+ _free_r(_impure_ptr, ptr);
+}
diff --git a/os/src/lseek.c b/os/src/lseek.c
new file mode 100644
index 0000000..1b86dbb
--- /dev/null
+++ b/os/src/lseek.c
@@ -0,0 +1,4 @@
+#include <reent.h>
+
+_off_t _lseek_r(struct _reent * reent, int fd, _off_t seek, int wheel) {
+}
diff --git a/os/src/malloc.c b/os/src/malloc.c
new file mode 100644
index 0000000..7d5f965
--- /dev/null
+++ b/os/src/malloc.c
@@ -0,0 +1,5 @@
+#include <reent.h>
+
+void * malloc(size_t size) {
+ return _malloc_r(_impure_ptr, size);
+}
diff --git a/os/src/read.c b/os/src/read.c
new file mode 100644
index 0000000..08351a7
--- /dev/null
+++ b/os/src/read.c
@@ -0,0 +1,5 @@
+#include <reent.h>
+
+_ssize_t _read_r(struct _reent * reent, int fd, void * ptr, size_t size) {
+ return 0;
+}
diff --git a/os/src/sprintf.c b/os/src/sprintf.c
new file mode 100644
index 0000000..76ea9a2
--- /dev/null
+++ b/os/src/sprintf.c
@@ -0,0 +1,10 @@
+#include <reent.h>
+#include <stdarg.h>
+
+int sprintf(char * str, const char * fmt, ...) {
+ int r;
+ va_list ap;
+ va_start(ap, fmt);
+ r = _vsprintf_r(_impure_ptr, str, fmt, ap);
+ va_end(ap);
+}
diff --git a/os/src/write.c b/os/src/write.c
new file mode 100644
index 0000000..a1bf474
--- /dev/null
+++ b/os/src/write.c
@@ -0,0 +1,4 @@
+#include <reent.h>
+
+_ssize_t _write_r(struct _reent * reent, int fd, const void * buf, size_t size) {
+}