Avoid the str pc,[r0]! instruction in MONO_CONTEXT_GET_CURRENT () which is not allowe...
authorZoltan Varga <vargaz@gmail.com>
Thu, 28 Feb 2013 22:42:29 +0000 (23:42 +0100)
committerZoltan Varga <vargaz@gmail.com>
Thu, 28 Feb 2013 22:42:44 +0000 (23:42 +0100)
mono/utils/mono-context.h

index 3893c75306d363f6029638ae1be35cbe5d393a51..4631cadf67c9298c21a2e8e0f70031c96b26fcbc 100644 (file)
@@ -241,12 +241,14 @@ typedef struct {
                "mov r0, %0\n"                          \
                "ldr r1, [sp, 4]\n"                     \
                "str r1, [r0]!\n"                       \
-               "pop {r1}\n"                            \
+               "ldr r1, [sp, 0]\n"                     \
                "str r1, [r0]!\n"                       \
                "stmia r0!, {r2-r12}\n"         \
                "str sp, [r0]!\n"                       \
                "str lr, [r0]!\n"                       \
-               "str pc, [r0]!\n"                       \
+               "mov r1, pc\n"                          \
+               "str r1, [r0]!\n"                       \
+               "pop {r1}\n"                            \
                "pop {r0}\n"                            \
                :                                                       \
                : "r" (&ctx.regs)                       \