From 914e28189296ce9bd4ede38c7faebbd8c88f82ac Mon Sep 17 00:00:00 2001 From: "bernard.xiong" Date: Mon, 26 Apr 2010 10:21:24 +0000 Subject: [PATCH] add more stub for newlib porting. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@669 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/SConscript | 3 +- components/finsh/finsh.h | 1 + components/libc/newlib/math.c | 12 +++++++ components/libc/newlib/syscalls.c | 53 +++++++++++++++++++++++++++++-- 4 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 components/libc/newlib/math.c 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 #include #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 + +/* 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 +#include -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; +} -- GitLab