summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorbernard.xiong <[email protected]>2010-04-26 10:21:24 +0000
committerbernard.xiong <[email protected]>2010-04-26 10:21:24 +0000
commit914e28189296ce9bd4ede38c7faebbd8c88f82ac (patch)
treed9e0777dfe6de390596e48b8653f73445860a5cd /components
parentc8efa6b33199881b28df5f5dc2e7ea716cecee8d (diff)
add more stub for newlib porting.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@669 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'components')
-rw-r--r--components/SConscript3
-rw-r--r--components/finsh/finsh.h1
-rw-r--r--components/libc/newlib/math.c12
-rw-r--r--components/libc/newlib/syscalls.c53
4 files changed, 65 insertions, 4 deletions
diff --git a/components/SConscript b/components/SConscript
index 46ae96cfb3..538e976a52 100644
--- a/components/SConscript
+++ b/components/SConscript
@@ -22,7 +22,7 @@ if 'RT_USING_LWIP' in dir(rtconfig) and rtconfig.RT_USING_LWIP:
objs = objs + SConscript('net/lwip/SConscript')
if 'RT_USING_MODBUS' in dir(rtconfig) and rtconfig.RT_USING_MODBUS:
- objs = objs + SConscript('net//freemodbus/SConscript')
+ objs = objs + SConscript('net/freemodbus/SConscript')
if 'RT_USING_RTGUI' in dir(rtconfig) and rtconfig.RT_USING_RTGUI:
objs = objs + SConscript('rtgui/SConscript')
@@ -30,6 +30,5 @@ if 'RT_USING_RTGUI' in dir(rtconfig) and rtconfig.RT_USING_RTGUI:
# build each modules
if rtconfig.CROSS_TOOL == 'gcc':
SConscript('hello/SConscript')
- SConscript('thread/SConscript')
Return('objs')
diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h
index 1480af9bbd..575066e464 100644
--- a/components/finsh/finsh.h
+++ b/components/finsh/finsh.h
@@ -59,6 +59,7 @@
/*@{*/
#if defined(RT_USING_NEWLIB) || defined (RT_USING_MINILIBC)
+#include <sys/types.h>
#include <string.h>
#else
typedef unsigned char u_char;
diff --git a/components/libc/newlib/math.c b/components/libc/newlib/math.c
new file mode 100644
index 0000000000..d86abe5877
--- /dev/null
+++ b/components/libc/newlib/math.c
@@ -0,0 +1,12 @@
+#include <math.h>
+
+/* Fix me */
+double sin(double x)
+{
+ #warning sin function not supported for this platform
+}
+
+double cos(double x)
+{
+ #warning cos function not supported for this platform
+}
diff --git a/components/libc/newlib/syscalls.c b/components/libc/newlib/syscalls.c
index 7768612da2..6204dafa12 100644
--- a/components/libc/newlib/syscalls.c
+++ b/components/libc/newlib/syscalls.c
@@ -1,8 +1,57 @@
#include <reent.h>
+#include <sys/errno.h>
-int _fork_r (struct _reent *ptr)
+int _fork_r (struct _reent *r)
{
/* return "not supported" */
- ptr->errno = ENOTSUP;
+ r->_errno = ENOTSUP;
return -1;
}
+
+_ssize_t
+_read_r (struct _reent *r, int fd, void *buf, size_t nbytes)
+{
+ _ssize_t rc;
+
+ rc = -1;
+
+ /* return "not supported" */
+ r->_errno = ENOTSUP;
+ return rc;
+}
+
+_ssize_t
+_write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)
+{
+ _ssize_t rc;
+
+ rc = -1;
+
+ /* return "not supported" */
+ r->_errno = ENOTSUP;
+ return rc;
+}
+
+int
+_close_r (struct _reent *r, int fd)
+{
+ _ssize_t rc;
+
+ rc = -1;
+
+ /* return "not supported" */
+ r->_errno = ENOTSUP;
+ return rc;
+}
+
+_off_t
+_lseek_r (struct _reent *r, int fd, _off_t offset, int whence)
+{
+ _ssize_t rc;
+
+ rc = -1;
+
+ /* return "not supported" */
+ r->_errno = ENOTSUP;
+ return rc;
+}