Remove the dependency on MBEDTLS_HAVE_TIME from MBEDTLS_TIMING_C

The timing module might include time.h on its own when on
a suitable platform, even if MBEDTLS_HAVE_TIME is disabled.

Co-authored-by: Tom Cosgrove <tom.cosgrove@arm.com>
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Andrzej Kurek 2022-04-08 08:34:41 -04:00
parent 2603fec329
commit 263d8f7e61
3 changed files with 12 additions and 9 deletions

View file

@ -128,7 +128,12 @@
* MBEDTLS_PLATFORM_TIME_MACRO, MBEDTLS_PLATFORM_TIME_TYPE_MACRO and
* MBEDTLS_PLATFORM_STD_TIME.
*
* Comment if your system does not support time functions
* Comment if your system does not support time functions.
*
* \note If MBEDTLS_TIMING_C is set - to enable the semi-portable timing
* interface - timing.c will include time.h on suitable platforms
* regardless of the setting of MBEDTLS_HAVE_TIME, unless
* MBEDTLS_TIMING_ALT is used. See timing.c for more information.
*/
#define MBEDTLS_HAVE_TIME
@ -3466,6 +3471,10 @@
* your own implementation of the whole module by setting
* \c MBEDTLS_TIMING_ALT in the current file.
*
* \note The timing module will include time.h on suitable platforms
* regardless of the setting of MBEDTLS_HAVE_TIME, unless
* MBEDTLS_TIMING_ALT is used. See timing.c for more information.
*
* \note See also our Knowledge Base article about porting to a new
* environment:
* https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS

View file

@ -57,14 +57,14 @@ struct _hr_time
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
#if defined(MBEDTLS_HAVE_TIME)
/* time.h should be included independently of MBEDTLS_HAVE_TIME. If the
* platform matches the ifdefs above, it will be used. */
#include <time.h>
#include <sys/time.h>
struct _hr_time
{
struct timeval start;
};
#endif
#endif /* _WIN32 && !EFIX64 && !EFI32 */
#if !defined(HAVE_HARDCLOCK) && defined(MBEDTLS_HAVE_ASM) && \

View file

@ -1,23 +1,17 @@
Timing: hardclock
depends_on:MBEDTLS_HAVE_TIME
timing_hardclock:
Timing: get timer
depends_on:MBEDTLS_HAVE_TIME
timing_get_timer:
Timing: set alarm with no delay
depends_on:MBEDTLS_HAVE_TIME
timing_set_alarm:0:
Timing: set alarm with 1s delay
depends_on:MBEDTLS_HAVE_TIME
timing_set_alarm:1:
Timing: delay 0ms
depends_on:MBEDTLS_HAVE_TIME
timing_delay:0:
Timing: delay 100ms
depends_on:MBEDTLS_HAVE_TIME
timing_delay:100: