From a6aee9b4c85642053d290a31a56b25dbba4286c1 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 24 Apr 2019 17:46:05 +0300 Subject: [PATCH] posix: sys/time.h: Add workaround for outdated newlib used by Xtensa Unfortunately, Zephyr SDK 0.10.0 ships with outdate Newlib 2.0.0 (from 2015 or earlier) which lacks sys/_timeval.h header, requiring ugly workaround of defining struct timeval inline (the whole idea was to standardize on sys/_timeval.h header for different libc's). Signed-off-by: Paul Sokolovsky --- include/posix/sys/time.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/posix/sys/time.h b/include/posix/sys/time.h index cd5e68b0515..9ba6a157a7b 100644 --- a/include/posix/sys/time.h +++ b/include/posix/sys/time.h @@ -7,7 +7,23 @@ #ifndef ZEPHYR_INCLUDE_POSIX_SYS_TIME_H_ #define ZEPHYR_INCLUDE_POSIX_SYS_TIME_H_ +#ifdef CONFIG_NEWLIB_LIBC +/* Kludge to support outdated newlib version as used in SDK 0.10 for Xtensa */ +#include + +#ifdef __NEWLIB__ #include +#else +#include +struct timeval { + time_t tv_sec; + suseconds_t tv_usec; +}; +#endif + +#else +#include +#endif /* CONFIG_NEWLIB_LIBC */ #ifdef __cplusplus extern "C" {