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-07 08:08:21 -04:00
parent 714b6603e4
commit 5735369f4a
3 changed files with 12 additions and 8 deletions

View file

@ -129,7 +129,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
@ -3013,6 +3018,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

@ -46,14 +46,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 */
/**
@ -75,7 +75,6 @@ struct _hr_time
* get_timer(0) }` the value time1+time2 is only approximately
* the delay since the first reset.
*/
#if defined(MBEDTLS_HAVE_TIME)
#if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
unsigned long mbedtls_timing_get_timer( struct mbedtls_timing_hr_time *val, int reset )
@ -167,6 +166,5 @@ uint32_t mbedtls_timing_get_final_delay(
{
return( data->fin_ms );
}
#endif /* MBEDTLS_HAVE_TIME */
#endif /* !MBEDTLS_TIMING_ALT */
#endif /* MBEDTLS_TIMING_C */

View file

@ -1,11 +1,8 @@
Timing: get timer
depends_on:MBEDTLS_HAVE_TIME
timing_get_timer:
Timing: delay 0ms
depends_on:MBEDTLS_HAVE_TIME
timing_delay:0:
Timing: delay 100ms
depends_on:MBEDTLS_HAVE_TIME
timing_delay:100: