diff options
Diffstat (limited to 'experimental/mono/ppc32.patch')
-rw-r--r-- | experimental/mono/ppc32.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/experimental/mono/ppc32.patch b/experimental/mono/ppc32.patch new file mode 100644 index 000000000..818b9d43b --- /dev/null +++ b/experimental/mono/ppc32.patch @@ -0,0 +1,30 @@ +From 121928d29ac1e0aebb80531b3ebcca1a9ffcd618 Mon Sep 17 00:00:00 2001 +From: Bernhard Urban-Forster <lewurm@gmail.com> +Date: Fri, 6 Dec 2019 11:35:11 +0100 +Subject: [PATCH] [ppc32] delete leftover code from pre-monoctx area (#18072) + +Also update assert which doesn't make sense since we have moved over to MonoContext + +Some context: e7011c780f676914f559f14f25e76c192bb2b0b2 + +Fixes: https://github.com/mono/mono/issues/18064 +--- + mono/mini/exceptions-ppc.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/mono/mini/exceptions-ppc.c b/mono/mini/exceptions-ppc.c +index 44d09bcaba1d..d14f8383eba9 100644 +--- mono.old/mono/mini/exceptions-ppc.c ++++ mono.new/mono/mini/exceptions-ppc.c +@@ -692,10 +692,7 @@ mono_arch_handle_altstack_exception (void *sigctx, MONO_SIG_HANDLER_INFO_TYPE *s + /* may need to adjust pointers in the new struct copy, depending on the OS */ + uc_copy = (MonoContext*)(sp + 16); + mono_sigctx_to_monoctx (uc, uc_copy); +-#if defined(__linux__) && !defined(__mono_ppc64__) +- uc_copy->uc_mcontext.uc_regs = (gpointer)((char*)uc_copy + ((char*)uc->uc_mcontext.uc_regs - (char*)uc)); +-#endif +- g_assert (mono_arch_ip_from_context (uc) == mono_arch_ip_from_context (uc_copy)); ++ g_assert (mono_arch_ip_from_context (uc) == MONO_CONTEXT_GET_IP (uc_copy)); + /* at the return form the signal handler execution starts in altstack_handle_and_restore() */ + UCONTEXT_REG_LNK(uc) = UCONTEXT_REG_NIP(uc); + #ifdef PPC_USES_FUNCTION_DESCRIPTOR |