Fri Nov 14 15:54:18 CET 2008 Paolo Molaro <lupus@ximian.com>
authorPaolo Molaro <lupus@oddwiz.org>
Fri, 14 Nov 2008 14:57:07 +0000 (14:57 -0000)
committerPaolo Molaro <lupus@oddwiz.org>
Fri, 14 Nov 2008 14:57:07 +0000 (14:57 -0000)
* mini-ppc.h: portability fix.

svn path=/trunk/mono/; revision=118860

mono/mini/ChangeLog
mono/mini/mini-ppc.h

index 709d4361f4a93e6f11624d6dd94e65408fa63e31..bce7c59f7c95c767ca67e36c61878a025517bfbb 100644 (file)
@@ -1,4 +1,8 @@
 
+Fri Nov 14 15:54:18 CET 2008 Paolo Molaro <lupus@ximian.com>
+
+       * mini-ppc.h: portability fix.
+
 Fri Nov 14 15:39:50 CET 2008 Paolo Molaro <lupus@ximian.com>
 
        * mini-ppc.h, mini-ppc.c: avoid using the red zone as some kernels are
index 24b2efca3bb0d47a86726b95287c563a0c4ca938..21fdc3da2f2266a8c4accacfe8f86b1f96ec43fc 100644 (file)
@@ -161,6 +161,15 @@ typedef struct {
        unsigned long lr;
 } MonoPPCStackFrame;
 
+#ifdef G_COMPILER_CODEWARRIOR
+#define MONO_INIT_CONTEXT_FROM_FUNC(ctx,start_func) do {       \
+               register gpointer r1_var;                                       \
+               asm { mr r1_var, r1 };  \
+               MONO_CONTEXT_SET_BP ((ctx), r1);                \
+               MONO_CONTEXT_SET_IP ((ctx), (start_func));      \
+       } while (0)
+
+#else
 #define MONO_INIT_CONTEXT_FROM_FUNC(ctx,start_func) do {       \
                gpointer r1;                                    \
                __asm__ volatile("mr   %0,1" : "=r" (r1));      \
@@ -169,6 +178,7 @@ typedef struct {
        } while (0)
 
 #endif
+#endif
 
 typedef struct {
        gint8 reg;