add new mono version
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1476 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
31
dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch
Normal file
31
dev-lang/mono/files/mono-2.2-r123987-bless-crash.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
# 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;
|
||||
Reference in New Issue
Block a user