From a400991ee9f8edf87a618d621129890a583d8c53 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Thu, 11 Feb 2021 02:58:19 +0800 Subject: [PATCH] remove _gettimeofday_r() and _times_r() --- components/libc/compilers/newlib/syscalls.c | 121 ++------------------ 1 file changed, 8 insertions(+), 113 deletions(-) diff --git a/components/libc/compilers/newlib/syscalls.c b/components/libc/compilers/newlib/syscalls.c index 228fa0d140..ad56078367 100644 --- a/components/libc/compilers/newlib/syscalls.c +++ b/components/libc/compilers/newlib/syscalls.c @@ -5,7 +5,9 @@ * * Change Logs: * Date Author Notes + * 2021-02-11 Meco Man remove _gettimeofday_r() and _times_r() */ + #include #include #include @@ -190,14 +192,6 @@ _stat_r(struct _reent *ptr, const char *file, struct stat *pstat) #endif } -_CLOCK_T_ -_times_r(struct _reent *ptr, struct tms *ptms) -{ - /* return "not supported" */ - ptr->_errno = ENOTSUP; - return -1; -} - int _unlink_r(struct _reent *ptr, const char *file) { @@ -243,111 +237,6 @@ _write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes) } #endif -#ifdef RT_USING_PTHREADS - -#include -/* POSIX timer provides clock_gettime function */ -#include -int -_gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) -{ - struct timespec tp; - - if (clock_gettime(CLOCK_REALTIME, &tp) == 0) - { - if (__tp != RT_NULL) - { - __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec / 1000UL; - } - - return tp.tv_sec; - } - - /* return "not supported" */ - ptr->_errno = ENOTSUP; - return -1; -} - -#else - -#define MILLISECOND_PER_SECOND 1000UL -#define MICROSECOND_PER_SECOND 1000000UL -#define NANOSECOND_PER_SECOND 1000000000UL - -#define MILLISECOND_PER_TICK (MILLISECOND_PER_SECOND / RT_TICK_PER_SECOND) -#define MICROSECOND_PER_TICK (MICROSECOND_PER_SECOND / RT_TICK_PER_SECOND) -#define NANOSECOND_PER_TICK (NANOSECOND_PER_SECOND / RT_TICK_PER_SECOND) - -struct timeval _timevalue = {0}; -#ifdef RT_USING_DEVICE -static void libc_system_time_init(void) -{ - time_t time; - rt_tick_t tick; - rt_device_t device; - - time = 0; - device = rt_device_find("rtc"); - if (device != RT_NULL) - { - /* get realtime seconds */ - rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time); - } - - /* get tick */ - tick = rt_tick_get(); - - _timevalue.tv_usec = MICROSECOND_PER_SECOND - (tick%RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK; - _timevalue.tv_sec = time - tick/RT_TICK_PER_SECOND - 1; -} -#endif - -int libc_get_time(struct timespec *time) -{ - rt_tick_t tick; - static rt_bool_t inited = 0; - - RT_ASSERT(time != RT_NULL); - - /* initialize system time */ - if (inited == 0) - { - libc_system_time_init(); - inited = 1; - } - - /* get tick */ - tick = rt_tick_get(); - - time->tv_sec = _timevalue.tv_sec + tick / RT_TICK_PER_SECOND; - time->tv_nsec = (_timevalue.tv_usec + (tick % RT_TICK_PER_SECOND) * MICROSECOND_PER_TICK) * 1000; - - return 0; -} - -int -_gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp) -{ - struct timespec tp; - - if (libc_get_time(&tp) == 0) - { - if (__tp != RT_NULL) - { - __tp->tv_sec = tp.tv_sec; - __tp->tv_usec = tp.tv_nsec / 1000UL; - } - - return tp.tv_sec; - } - - /* return "not supported" */ - ptr->_errno = ENOTSUP; - return -1; -} -#endif - /* Memory routine */ void * _malloc_r (struct _reent *ptr, size_t size) @@ -453,3 +342,9 @@ int flock(int fd, int operation) { return 0; } + +/* +These function will be implemented in the 'common/time.c' file +int _gettimeofday_r(struct _reent *ptr, struct timeval *__tp, void *__tzp); +_CLOCK_T_ _times_r(struct _reent *ptr, struct tms *ptms); +*/ -- GitLab