1*4882a593Smuzhiyunimplement support for musl/ppc64 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 4*4882a593Smuzhiyun--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h 5*4882a593Smuzhiyun+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h 6*4882a593Smuzhiyun@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or 7*4882a593Smuzhiyun #include <stdint.h> 8*4882a593Smuzhiyun #include <sys/time.h> 9*4882a593Smuzhiyun #include <time.h> 10*4882a593Smuzhiyun-#if defined(__powerpc__) 11*4882a593Smuzhiyun+#if defined(__powerpc__) && defined(__GLIBC__) 12*4882a593Smuzhiyun #include <sys/platform/ppc.h> 13*4882a593Smuzhiyun #endif 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(v 16*4882a593Smuzhiyun uint64_t result; 17*4882a593Smuzhiyun __asm __volatile__("mrs %[rt], cntvct_el0" : [ rt ] "=r"(result)); 18*4882a593Smuzhiyun return result; 19*4882a593Smuzhiyun-#elif defined(__powerpc__) 20*4882a593Smuzhiyun+#elif defined(__powerpc__) && defined(__GLIBC__) 21*4882a593Smuzhiyun return __ppc_get_timebase(); 22*4882a593Smuzhiyun+#elif defined(__powerpc64__) || defined(__ppc64__) 23*4882a593Smuzhiyun+ uint64_t result; 24*4882a593Smuzhiyun+ asm volatile("mfspr %0, 268" : "=r"(result)); 25*4882a593Smuzhiyun+ return result; 26*4882a593Smuzhiyun #elif defined(__riscv) // RISC-V 27*4882a593Smuzhiyun #if __riscv_xlen == 32 28*4882a593Smuzhiyun uint32_t lo, hi0, hi1; 29