[Pkg-mono-svn-commits] [SCM] mono branch, master, updated. debian/2.4.3+dfsg-1-3-g1076cf5
Jo Shields
directhex at apebox.org
Wed Jan 6 18:09:39 UTC 2010
The following commit has been merged in the master branch:
commit 09bbf36484f8d3803182352b933f7baaa4f6220d
Author: Jo Shields <directhex at apebox.org>
Date: Wed Jan 6 17:57:47 2010 +0000
Fix IKVM FTBFS
diff --git a/debian/changelog b/debian/changelog
index 53ee82f..5479188 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mono (2.4.3+dfsg-2) UNRELEASED; urgency=low
+
+ * debian/patches:dont_assert_on_empty_DGC_field_r146984.dpatch:
+ + Backport fix from upstream which causes IKVM to fail to build
+ (Closes: #562393)
+
+ -- Jo Shields <directhex at apebox.org> Wed, 06 Jan 2010 17:56:22 +0000
+
mono (2.4.3+dfsg-1) unstable; urgency=medium
[ Jo Shields ]
diff --git a/debian/patches/00list b/debian/patches/00list
index 56b41bd..42a7b34 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -24,3 +24,4 @@ build_firebirdsql_as_2.0
build_linker_tuner_cil-strip_as_2.0
build_permview_as_2.0
build_genxs_2.0
+dont_assert_on_empty_DGC_field_r146984
diff --git a/debian/patches/dont_assert_on_empty_DGC_field_r146984.dpatch b/debian/patches/dont_assert_on_empty_DGC_field_r146984.dpatch
new file mode 100755
index 0000000..5daea5b
--- /dev/null
+++ b/debian/patches/dont_assert_on_empty_DGC_field_r146984.dpatch
@@ -0,0 +1,43 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99-unnamed.dpatch by <directhex at desire>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+diff -urNad mono-2.4.2.3+dfsg~/mono/metadata/reflection.c mono-2.4.2.3+dfsg/mono/metadata/reflection.c
+--- mono-2.4.2.3+dfsg~/mono/metadata/reflection.c 2010-01-06 16:54:46.000000000 +0000
++++ mono-2.4.2.3+dfsg/mono/metadata/reflection.c 2010-01-06 16:58:17.000000000 +0000
+@@ -2576,16 +2576,29 @@
+ static MonoType*
+ get_field_on_inst_generic_type (MonoClassField *field)
+ {
++ MonoClass *class, *gtd;
+ MonoDynamicGenericClass *dgclass;
+ int field_index;
+
+ g_assert (is_field_on_inst (field));
+
+ dgclass = (MonoDynamicGenericClass*)field->parent->generic_class;
+- field_index = field - dgclass->fields;
+
+- g_assert (field_index >= 0 && field_index < dgclass->count_fields);
+- return dgclass->field_generic_types [field_index];
++ if (field >= dgclass->fields && field - dgclass->fields < dgclass->count_fields) {
++ field_index = field - dgclass->fields;
++ return dgclass->field_generic_types [field_index];
++ }
++
++ class = field->parent;
++ gtd = class->generic_class->container_class;
++
++ if (field >= class->fields && field - class->fields < class->field.count) {
++ field_index = field - class->fields;
++ return gtd->fields [field_index].type;
++ }
++
++ g_assert_not_reached ();
++ return 0;
+ }
+
+ static guint32
--
mono
More information about the Pkg-mono-svn-commits
mailing list