summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2021-11-13 00:17:16 -0500
committerMeco Man <[email protected]>2021-11-13 00:17:16 -0500
commit215d1d4c6eebf5e82aa4731ec673d0ff5c9b98c1 (patch)
tree18e51ce00fb9075ea216fe735f1640ba3c7e8708
parent3a3b7ee63288456a7e80e42a3480ea19d4bd645b (diff)
[libc][kconfig] update Kconfig
-rw-r--r--components/libc/Kconfig3
-rw-r--r--components/libc/compilers/gcc/newlib/syscalls.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/components/libc/Kconfig b/components/libc/Kconfig
index 4506001d42..a6000295e7 100644
--- a/components/libc/Kconfig
+++ b/components/libc/Kconfig
@@ -2,7 +2,8 @@ menu "POSIX layer and C standard library"
config RT_USING_LIBC
bool "Enable libc APIs from toolchain"
- default y
+ select RT_USING_HEAP
+ default n
if RT_USING_LIBC
config RT_LIBC_USING_TIME
diff --git a/components/libc/compilers/gcc/newlib/syscalls.c b/components/libc/compilers/gcc/newlib/syscalls.c
index 7c25ffac3f..f3a2f5bfcf 100644
--- a/components/libc/compilers/gcc/newlib/syscalls.c
+++ b/components/libc/compilers/gcc/newlib/syscalls.c
@@ -80,7 +80,7 @@ void _free_r (struct _reent *ptr, void *addr)
void *
_sbrk_r(struct _reent *ptr, ptrdiff_t incr)
{
- LOG_E("Please enable RT_USING_HEAP or RT_USING_LIBC");
+ LOG_E("Please enable RT_USING_HEAP");
RT_ASSERT(0);
return RT_NULL;
}
@@ -109,7 +109,12 @@ int _getpid_r(struct _reent *ptr)
int _close_r(struct _reent *ptr, int fd)
{
+#ifdef RT_USING_POSIX
return close(fd);
+#else
+ ptr->_errno = ENOTSUP;
+ return -1;
+#endif
}
int _execve_r(struct _reent *ptr, const char * name, char *const *argv, char *const *env)