File 0003-gc.c-tick-for-POWER-arch.patch of Package ruby2.1

From b01c945545697dc205c9958b0e3466224f415932 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marcus=20R=C3=BCckert?= <mrueckert@suse.de>
Date: Tue, 7 Mar 2017 13:03:08 +0100
Subject: [PATCH 03/13] gc.c tick for POWER arch

---
 gc.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gc.c b/gc.c
index 785a50d0ea..31c39c3674 100644
--- a/gc.c
+++ b/gc.c
@@ -4016,6 +4016,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 <intrin.h>
 typedef unsigned __int64 tick_t;
-- 
2.12.0

openSUSE Build Service is sponsored by