diff options
Diffstat (limited to 'dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch')
-rw-r--r-- | dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch b/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch deleted file mode 100644 index 1be03542a375..000000000000 --- a/dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch +++ /dev/null @@ -1,31 +0,0 @@ -# http://gna.org/bugs/?12900 -# https://bugzilla.novell.com/show_bug.cgi?id=469213 -# http://bugs.gentoo.org/show_bug.cgi?id=256153 - -Index: mono/mono/mini/method-to-ir.c -=================================================================== ---- mono/mono/mini/method-to-ir.c (revision 123986) -+++ mono/mono/mini/method-to-ir.c (revision 123987) -@@ -5839,7 +5839,21 @@ - cmethod = (MonoMethod *)mono_method_get_wrapper_data (method, token); - cil_method = cmethod; - } else if (constrained_call) { -- cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method); -+ if ((constrained_call->byval_arg.type == MONO_TYPE_VAR || constrained_call->byval_arg.type == MONO_TYPE_MVAR) && cfg->generic_sharing_context) { -+ /* This is needed when using aot + generic sharing, since -+ * the AOT code allows generic sharing for methods with -+ * type parameters having constraints, and -+ * get_method_constrained can't find the method in klass -+ * representing a type var. -+ * The type var is guaranteed to be a reference type in this -+ * case. -+ */ -+ cmethod = mini_get_method (cfg, method, token, NULL, generic_context); -+ cil_method = cmethod; -+ g_assert (!cmethod->klass->valuetype); -+ } else { -+ cmethod = mono_get_method_constrained (image, token, constrained_call, generic_context, &cil_method); -+ } - } else { - cmethod = mini_get_method (cfg, method, token, NULL, generic_context); - cil_method = cmethod; |