diff --git a/mono-2.6.1.tar.bz2 b/mono-2.6.1.tar.bz2 deleted file mode 100644 index fad9bb1..0000000 --- a/mono-2.6.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6bd6cc59b740bb3a971a6315f3a85fdfdf5cf1e94545e915ba96c3ea7224baa3 -size 27644697 diff --git a/mono-core.changes b/mono-core.changes index 88bd707..acfc91e 100644 --- a/mono-core.changes +++ b/mono-core.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 26 22:30:50 UTC 2010 - ajorgensen@novell.com + +- Patch to fix AOT on Xen + ------------------------------------------------------------------- Tue Jan 26 20:51:03 UTC 2010 - ajorgensen@novell.com diff --git a/mono-core.spec b/mono-core.spec index ff74bae..ff3af5f 100644 --- a/mono-core.spec +++ b/mono-core.spec @@ -27,6 +27,7 @@ Version: 2.6.1 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: mono-%{version}.tar.bz2 +Patch0: xen-aot.patch ExclusiveArch: %ix86 x86_64 ppc ppc64 hppa armv4l sparc s390 ia64 s390x BuildRoot: %{_tmppath}/%{name}-%{version}-build Provides: mono = %{version}-%{release} @@ -1226,6 +1227,7 @@ Authors: %prep %setup -q -n mono-%{version} +%patch0 %build # These are only needed if there are patches to the runtime diff --git a/xen-aot.patch b/xen-aot.patch new file mode 100644 index 0000000..09e6fe2 --- /dev/null +++ b/xen-aot.patch @@ -0,0 +1,28 @@ +Index: mono/mini/mini-amd64.c +=================================================================== +--- mono/mini/mini-amd64.c (revision 149672) ++++ mono/mini/mini-amd64.c (revision 149673) +@@ -2558,11 +2558,6 @@ + /* These methods are allocated using malloc */ + near_call = FALSE; + +- if (cfg->compile_aot) { +- near_call = TRUE; +- no_patch = TRUE; +- } +- + #ifdef MONO_ARCH_NOMAP32BIT + near_call = FALSE; + #endif +@@ -2571,6 +2566,11 @@ + if (optimize_for_xen) + near_call = FALSE; + ++ if (cfg->compile_aot) { ++ near_call = TRUE; ++ no_patch = TRUE; ++ } ++ + if (near_call) { + /* + * Align the call displacement to an address divisible by 4 so it does