File ppc.patch of Package mono-core.1407

Index: mono-3.0.2/mono/mini/mini.c
===================================================================
--- mono-3.0.2.orig/mono/mini/mini.c
+++ mono-3.0.2/mono/mini/mini.c
@@ -6240,7 +6240,7 @@ mini_create_ftnptr (MonoDomain *domain,
 	desc [0] = addr;
 	desc [1] = NULL;
 #	elif defined(__ppc64__) || defined(__powerpc64__)
-	gpointer *desc;
+	//gpointer *desc;
 
 	desc = mono_domain_alloc0 (domain, 3 * sizeof (gpointer));
 
Index: mono-3.0.2/mono/mini/mini-ppc.h
===================================================================
--- mono-3.0.2.orig/mono/mini/mini-ppc.h
+++ mono-3.0.2/mono/mini/mini-ppc.h
@@ -96,6 +96,7 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_EMULATE_FREM 1
 #define MONO_ARCH_BIGMUL_INTRINS 1
 #define MONO_ARCH_HAVE_ATOMIC_CAS 1
+#define MONO_ARCH_GC_MAPS_SUPPORTED 1

 /* Parameters used by the register allocator */
 #define MONO_ARCH_CALLEE_REGS ((0xff << ppc_r3) | (1 << ppc_r11) | (1 << ppc_r12))
Index: mono-3.0.2/mono/mini/mini-gc.c
===================================================================
--- mono-3.0.2.orig/mono/mini/mini-gc.c
+++ mono-3.0.2/mono/mini/mini-gc.c
@@ -438,6 +438,8 @@ static int callee_saved_regs [] = { X86_
 static int callee_saved_regs [] = { ARMREG_V1, ARMREG_V2, ARMREG_V3, ARMREG_V4, ARMREG_V5, ARMREG_V7, ARMREG_FP };
 #elif defined(TARGET_S390X)
 static int callee_saved_regs [] = { s390_r6, s390_r7, s390_r8, s390_r9, s390_r10, s390_r11, s390_r12, s390_r13, s390_r14 };
+#elif defined(TARGET_POWERPC)
+static int callee_saved_regs [] = { ppc_r6, ppc_r7, ppc_r8, ppc_r9, ppc_r10, ppc_r11, ppc_r12, ppc_r13, ppc_r14 };
 #endif

 static guint32
openSUSE Build Service is sponsored by