[Mono-dev] [PATCH] PPC fix for generics-sharing tests.
Steven Munroe
munroesj at linux.vnet.ibm.com
Fri Jan 23 12:17:44 EST 2009
In the current mono svn trunk r124301 the generics-sharing tests are
failing:
351 test(s) passed. 4 test(s) did not pass.
Failed tests:
generics-sharing.2.exe
shared-generic-synchronized.2.exe
generic-array-iface-set.2.exe
generic-stack-traces2.2.exe
This is due to a g_assert in mini-ppc.c (mono_arch_context_get_int_reg):
g_assert (reg >= ppc_r13);
Which does not account for accessing the stack pointer (ppc_r1). The
attached patch resolves this:
This patch is contributed under the terms of the MIT/X11 license
-------------- next part --------------
2009-01-21 Steven Munroe <munroesj at us.ibm.com>
This patch is contributed under the terms of the MIT/X11 license
* mini-ppc.c (mono_arch_context_get_int_reg): Handle ppc_r1 in
addition to ppc_r13-ppc_r31.
diff -urN mono-svn/mono/mono/mini/mini-ppc.c mono-svn64/mono/mono/mini/mini-ppc.c
--- mono-svn/mono/mono/mini/mini-ppc.c 2009-01-21 14:27:11.000000000 -0600
+++ mono-svn64/mono/mono/mini/mini-ppc.c 2009-01-22 17:29:42.000000000 -0600
@@ -5660,7 +5660,11 @@
gpointer
mono_arch_context_get_int_reg (MonoContext *ctx, int reg)
{
- g_assert (reg >= ppc_r13);
-
- return (gpointer)ctx->regs [reg - ppc_r13];
+ if (reg = ppc_r1) {
+ return (gpointer)ctx->sc_sp;
+ } else {
+ g_assert (reg >= ppc_r13);
+
+ return (gpointer)ctx->regs [reg - ppc_r13];
+ }
}
More information about the Mono-devel-list
mailing list