implement support for musl/ppc64
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or
|
#include <stdint.h>
|
#include <sys/time.h>
|
#include <time.h>
|
-#if defined(__powerpc__)
|
+#if defined(__powerpc__) && defined(__GLIBC__)
|
#include <sys/platform/ppc.h>
|
#endif
|
|
@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(v
|
uint64_t result;
|
__asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result));
|
return result;
|
-#elif defined(__powerpc__)
|
+#elif defined(__powerpc__) && defined(__GLIBC__)
|
return __ppc_get_timebase();
|
+#elif defined(__powerpc64__) || defined(__ppc64__)
|
+ uint64_t result;
|
+ asm volatile("mfspr %0, 268" : "=r"(result));
|
+ return result;
|
#elif defined(__riscv) // RISC-V
|
#if __riscv_xlen == 32
|
uint32_t lo, hi0, hi1;
|