diff --git a/ChangeLog b/ChangeLog index 51852a24d4..a60122f643 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Mar 17 17:14:51 2016 Dinar Valeev + + * gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch. + [Fix GH-1291] + Thu Mar 17 11:51:48 2016 NARUSE, Yui * lib/securerandom.rb (gen_random): to avoid blocking on Windows. diff --git a/gc.c b/gc.c index 58953b94e2..d019633dc0 100644 --- a/gc.c +++ b/gc.c @@ -935,6 +935,18 @@ tick(void) return ((unsigned long long)lo)|( ((unsigned long long)hi)<<32); } +#elif defined(__powerpc64__) && \ + ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) +typedef unsigned long long tick_t; +#define PRItick "llu" + +static __inline__ tick_t +tick(void) +{ + unsigned long long val = __builtin_ppc_get_timebase(); + return val; +} + #elif defined(_WIN32) && defined(_MSC_VER) #include typedef unsigned __int64 tick_t;