--- a/stun.cxx.ori 2010-12-18 10:53:19.216286790 +0100 +++ b/stun.cxx 2010-12-18 10:53:46.806347204 +0100 @@ -671,6 +671,10 @@ tick |= lowtick; #elif defined(__GNUC__) && ( defined(__i686__) || defined(__i386__) ) asm("rdtsc" : "=A" (tick)); +#elif defined(__GNUC__) && defined(__x86_64__) + unsigned _a,_d; + asm("rdtsc" : "=A" (_a), "=D" (_d)); + tick = ((unsigned long long) (_a)) | (( (unsigned long long) (_d)) << 32); #elif defined (__SUNPRO_CC) || defined( __sparc__ ) tick = gethrtime(); #elif defined(__MACH__)