diff --git a/ChangeLog b/ChangeLog index 0b491b85f..c54566790 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,8 @@ Security Features Bugfix + * Fix hardclock() (only used in the benchmarking program) with some + versions of mingw64 (found by kxjhlele). Changes * Move from SHA-1 to SHA-256 in example programs using signatures diff --git a/library/timing.c b/library/timing.c index fe1daa247..a61220851 100644 --- a/library/timing.c +++ b/library/timing.c @@ -77,8 +77,10 @@ unsigned long hardclock( void ) #endif /* !POLARSSL_HAVE_HARDCLOCK && POLARSSL_HAVE_ASM && ( _MSC_VER && _M_IX86 ) || __WATCOMC__ */ +/* some versions of mingw-64 have 32-bit longs even on x84_64 */ #if !defined(POLARSSL_HAVE_HARDCLOCK) && defined(POLARSSL_HAVE_ASM) && \ - defined(__GNUC__) && defined(__i386__) + defined(__GNUC__) && ( defined(__i386__) || ( \ + ( defined(__amd64__) || defined( __x86_64__) ) && __SIZEOF_LONG__ == 4 ) ) #define POLARSSL_HAVE_HARDCLOCK