23 lines
721 B
Text
23 lines
721 B
Text
|
Use posix timing to improve portability and avoid a build failure on
|
||
|
powerpc due to `__builtin_ppc_mftb' being gcc-specific.
|
||
|
|
||
|
Index: src/engine_c.c
|
||
|
--- src/engine_c.c.orig
|
||
|
+++ src/engine_c.c
|
||
|
@@ -884,6 +884,15 @@ void fixed_memory_ptrs_shut() {
|
||
|
|
||
|
#if defined(__i386__) || defined(__x86_64__)
|
||
|
#include <x86intrin.h>
|
||
|
+ #elif defined(_POSIX_MONOTONIC_CLOCK)
|
||
|
+ #include <time.h>
|
||
|
+ int64_t __rdtsc() {
|
||
|
+ struct timespec tp = {0};
|
||
|
+ int64_t timestamp = 0;
|
||
|
+ if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
|
||
|
+ timestamp = tp.tv_sec * 1000000000 + tp.tv_nsec;
|
||
|
+ return timestamp;
|
||
|
+ }
|
||
|
#elif defined(__powerpc__) || defined(__ppc__)
|
||
|
#define __rdtsc() __builtin_ppc_mftb()
|
||
|
#else
|