diff --git a/components/libc/compilers/newlib/minilib.c b/components/libc/compilers/newlib/minilib.c index 612554ca66..7aed3aa36e 100644 --- a/components/libc/compilers/newlib/minilib.c +++ b/components/libc/compilers/newlib/minilib.c @@ -64,3 +64,9 @@ void * _sbrk_r(struct _reent *ptr, ptrdiff_t incr) return RT_NULL; } #endif /*RT_USING_HEAP*/ + +void __libc_init_array(void) +{ + /* we not use __libc init_aray to initialize C++ objects */ + /* __libc_init_array is ARM code, not Thumb; it will cause hardfault. */ +} diff --git a/components/libc/compilers/newlib/syscalls.c b/components/libc/compilers/newlib/syscalls.c index aeb4d123e7..b2258c3345 100644 --- a/components/libc/compilers/newlib/syscalls.c +++ b/components/libc/compilers/newlib/syscalls.c @@ -303,6 +303,7 @@ void _system(const char *s) void __libc_init_array(void) { /* we not use __libc init_aray to initialize C++ objects */ + /* __libc_init_array is ARM code, not Thumb; it will cause hardfault. */ } mode_t umask(mode_t mask)