From 8796513ac1e2cdb5f9ea9e190aea257484c9dfb7 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Tue, 14 Jun 2022 06:40:46 +0200 Subject: [PATCH 1/2] cpu/esp32: add missing newlibc function _gettimeofday_r --- cpu/esp32/syscalls.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cpu/esp32/syscalls.c b/cpu/esp32/syscalls.c index 41118fb17e..5e0a574838 100644 --- a/cpu/esp32/syscalls.c +++ b/cpu/esp32/syscalls.c @@ -138,6 +138,17 @@ int clock_gettime(clockid_t clock_id, struct timespec *tp) return clock_gettime_r(_GLOBAL_REENT, clock_id, tp); } +#if !IS_USED(MODULE_LIBC_GETTIMEOFDAY) +int IRAM _gettimeofday_r(struct _reent *r, struct timeval *tv, void *tz) +{ + (void) tz; + uint64_t now = system_get_time_64(); + tv->tv_sec = div_u64_by_1000000(now); + tv->tv_usec = now - (tv->tv_sec * US_PER_SEC); + return 0; +} +#endif + static int _no_sys_func(struct _reent *r) { DEBUG("%s: system function does not exist\n", __func__); From 4dc5e86b2a5e986e206416f9b1e7c26bfb55d882 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Mon, 13 Jun 2022 15:02:16 +0200 Subject: [PATCH 2/2] cpu/esp32: remove libc_gettimeofday dependency --- cpu/esp32/Kconfig | 1 - cpu/esp32/Makefile.dep | 2 -- 2 files changed, 3 deletions(-) diff --git a/cpu/esp32/Kconfig b/cpu/esp32/Kconfig index 6c46829271..1cbdb77ace 100644 --- a/cpu/esp32/Kconfig +++ b/cpu/esp32/Kconfig @@ -21,7 +21,6 @@ config CPU_FAM_ESP32 select PACKAGE_ESP32_SDK if TEST_KCONFIG - select MODULE_LIBC_GETTIMEOFDAY if TEST_KCONFIG select MODULE_MALLOC_THREAD_SAFE if !MODULE_ESP_IDF_HEAP && TEST_KCONFIG select MODULE_RTT_RTC if HAS_PERIPH_RTT && MODULE_PERIPH_RTC select MODULE_PERIPH_RTT if HAS_PERIPH_RTT && MODULE_PM_LAYERED diff --git a/cpu/esp32/Makefile.dep b/cpu/esp32/Makefile.dep index af0523a277..f8adb31701 100644 --- a/cpu/esp32/Makefile.dep +++ b/cpu/esp32/Makefile.dep @@ -117,5 +117,3 @@ endif ifneq (,$(filter esp_jtag,$(USEMODULE))) FEATURES_REQUIRED += esp_jtag endif - -USEMODULE += libc_gettimeofday