Bug 590203

Summary: A small patch may be needed by mono-2.4.3.1 in EPEL6
Product: [Fedora] Fedora EPEL Reporter: Kirby Zhou <kirbyzhou>
Component: monoAssignee: Xavier Lamien <lxtnow>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: el6CC: lxtnow, pbrobinson
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-19 09:23:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Kirby Zhou 2010-05-08 04:23:10 UTC
If without this patch, mono will crash in the DOMU RHEL5.
I think there will be same in the DOMU RHEL6

2010-01-16  Zoltan Varga  <vargaz at gmail.com>

	* mini-amd64.c (emit_call_body): Always use near calls when AOTing even if
	NOMAP32BIT or optimize_for_xen is set.

Index: mono/mono/mini/mini-amd64.c
===================================================================
--- mono/mono/mini/mini-amd64.c	(revision 149673)
+++ mono/mono/mini/mini-amd64.c	(revision 149674)
@@ -2002,11 +2002,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
@@ -2015,6 +2010,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

Comment 1 Kirby Zhou 2010-05-08 04:24:06 UTC
mono-2.6.3 fixed that problem, maybe backport some code from it is better.