From 2530a5a2724d47c1d456b8e33198699dfb70206a Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Sat, 13 Feb 2021 15:14:07 +0800 Subject: [PATCH] [dlib]remove syscalls.h and add syscalls.c to implement exit() and abort() --- components/libc/compilers/dlib/syscalls.c | 51 +++++++++++++++++++++ components/libc/compilers/dlib/syscalls.h | 10 ---- components/libc/compilers/newlib/syscalls.c | 1 + 3 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 components/libc/compilers/dlib/syscalls.c delete mode 100644 components/libc/compilers/dlib/syscalls.h diff --git a/components/libc/compilers/dlib/syscalls.c b/components/libc/compilers/dlib/syscalls.c new file mode 100644 index 0000000000..c065b44ea4 --- /dev/null +++ b/components/libc/compilers/dlib/syscalls.c @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-02-13 Meco Man implement exit() and abort() + */ + +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 */ +} + +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 */ +} diff --git a/components/libc/compilers/dlib/syscalls.h b/components/libc/compilers/dlib/syscalls.h deleted file mode 100644 index 993962e8db..0000000000 --- a/components/libc/compilers/dlib/syscalls.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright (c) 2006-2018, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2015-01-28 Bernard first version - */ - diff --git a/components/libc/compilers/newlib/syscalls.c b/components/libc/compilers/newlib/syscalls.c index a0a081bd26..ae8b51b672 100644 --- a/components/libc/compilers/newlib/syscalls.c +++ b/components/libc/compilers/newlib/syscalls.c @@ -6,6 +6,7 @@ * Change Logs: * Date Author Notes * 2021-02-11 Meco Man remove _gettimeofday_r() and _times_r() + * 2020-02-13 Meco Man re-implement exit() and abort() */ #include