diff options
| author | Meco Jianting Man <[email protected]> | 2021-02-18 01:30:19 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-02-18 01:30:19 -0600 |
| commit | 8ea33c2101cdc8d8d8a5f94479acca310fbbfb75 (patch) | |
| tree | 48ba0df2445feb188eed3df81d9e2a62d6d57f53 /components/libc/compilers/newlib/syscalls.c | |
| parent | e19873db6d6947f02e0b093251adf3c73daabdd8 (diff) | |
| parent | 6420c2779143f414ca2850cb2ab3d72a4ff10a9b (diff) | |
Merge pull request #18 from RT-Thread/master
pr
Diffstat (limited to 'components/libc/compilers/newlib/syscalls.c')
| -rw-r--r-- | components/libc/compilers/newlib/syscalls.c | 44 |
1 files changed, 8 insertions, 36 deletions
diff --git a/components/libc/compilers/newlib/syscalls.c b/components/libc/compilers/newlib/syscalls.c index cf98e0c3ec..76300f76b2 100644 --- a/components/libc/compilers/newlib/syscalls.c +++ b/components/libc/compilers/newlib/syscalls.c @@ -286,30 +286,16 @@ _free_r (struct _reent *ptr, void *addr) void exit (int status) { - rt_thread_t self = rt_thread_self(); - -#ifdef RT_USING_MODULE - if (dlmodule_self()) - { - dlmodule_exit(status); - } -#endif - - if (self != RT_NULL) - { - rt_kprintf("thread:%-8.*s exit:%d!\n", RT_NAME_MAX, self->name, status); - rt_thread_suspend(self); - rt_schedule(); - } - - while(1); /* noreturn */ + extern void __rt_libc_exit(int status); + __rt_libc_exit(status); + while(1); } void _system(const char *s) { - /* not support this call */ - return; + extern int __rt_libc_system(const char *string); + __rt_libc_system(s); } void __libc_init_array(void) @@ -319,23 +305,9 @@ void __libc_init_array(void) void abort(void) { - rt_thread_t self = rt_thread_self(); - -#ifdef RT_USING_MODULE - if (dlmodule_self()) - { - dlmodule_exit(-1); - } -#endif - - if (self != RT_NULL) - { - rt_kprintf("thread:%-8.*s abort!\n", RT_NAME_MAX, self->name); - rt_thread_suspend(self); - rt_schedule(); - } - - while(1); /* noreturn */ + extern void __rt_libc_abort(void); + __rt_libc_abort(); + while(1); } uid_t getuid(void) |
