Fix hardclock() with mingw64
diff --git a/ChangeLog b/ChangeLog
index 0b491b8..c545667 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,8 @@
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 fe1daa2..a612208 100644
--- a/library/timing.c
+++ b/library/timing.c
@@ -77,8 +77,10 @@
#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