Andrew Jorgensen 2010-01-26 22:31:21 +00:00 committed by Git OBS Bridge
parent 1d95adddc1
commit 48dd9dd7e3
4 changed files with 35 additions and 3 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6bd6cc59b740bb3a971a6315f3a85fdfdf5cf1e94545e915ba96c3ea7224baa3
size 27644697

View File

@ -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 Tue Jan 26 20:51:03 UTC 2010 - ajorgensen@novell.com

View File

@ -27,6 +27,7 @@ Version: 2.6.1
Release: 0 Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: mono-%{version}.tar.bz2 Source0: mono-%{version}.tar.bz2
Patch0: xen-aot.patch
ExclusiveArch: %ix86 x86_64 ppc ppc64 hppa armv4l sparc s390 ia64 s390x ExclusiveArch: %ix86 x86_64 ppc ppc64 hppa armv4l sparc s390 ia64 s390x
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: mono = %{version}-%{release} Provides: mono = %{version}-%{release}
@ -1226,6 +1227,7 @@ Authors:
%prep %prep
%setup -q -n mono-%{version} %setup -q -n mono-%{version}
%patch0
%build %build
# These are only needed if there are patches to the runtime # These are only needed if there are patches to the runtime

28
xen-aot.patch Normal file
View File

@ -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