mirror of
https://github.com/veracrypt/VeraCrypt
synced 2024-11-28 05:53:29 +01:00
Linux: Fix compilation error on non-x86 platform by providing generic implementation for jent_get_nstime function
This commit is contained in:
parent
3fa636d477
commit
afe6b2f45b
@ -75,6 +75,8 @@ static VC_INLINE void jent_get_nstime(uint64 *out)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
#if CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64
|
||||||
|
|
||||||
/* taken from Linux kernel */
|
/* taken from Linux kernel */
|
||||||
#if CRYPTOPP_BOOL_X64
|
#if CRYPTOPP_BOOL_X64
|
||||||
#define DECLARE_ARGS(val, low, high) unsigned low, high
|
#define DECLARE_ARGS(val, low, high) unsigned low, high
|
||||||
@ -93,6 +95,29 @@ VC_INLINE void jent_get_nstime(uint64 *out)
|
|||||||
*out = EAX_EDX_VAL(val, low, high);
|
*out = EAX_EDX_VAL(val, low, high);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
VC_INLINE void jent_get_nstime(uint64 *out)
|
||||||
|
{
|
||||||
|
/* we could use CLOCK_MONOTONIC(_RAW), but with CLOCK_REALTIME
|
||||||
|
* we get some nice extra entropy once in a while from the NTP actions
|
||||||
|
* that we want to use as well... though, we do not rely on that
|
||||||
|
* extra little entropy */
|
||||||
|
uint64_t tmp = 0;
|
||||||
|
struct timespec time;
|
||||||
|
if (clock_gettime(CLOCK_REALTIME, &time) == 0)
|
||||||
|
{
|
||||||
|
tmp = time.tv_sec;
|
||||||
|
tmp = tmp << 32;
|
||||||
|
tmp = tmp | time.tv_nsec;
|
||||||
|
}
|
||||||
|
*out = tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
Loading…
Reference in New Issue
Block a user