Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  5 Jul 2009 17:14:48 +0200 (CEST)
From:      Romain Tartiere <mono@FreeBSD.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/136350: [maintainer-update] lang/mono version 2.4 to 2.4.2
Message-ID:  <20090705151448.348A95C2EA@marvin.blogreen.org>
Resent-Message-ID: <200907051520.n65FK3Lt035580@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         136350
>Category:       ports
>Synopsis:       [maintainer-update] lang/mono version 2.4 to 2.4.2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 05 15:20:03 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Romain Tartiere
>Release:        FreeBSD 7.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD marvin.blogreen.org 7.2-STABLE FreeBSD 7.2-STABLE #5 r194822M: Wed Jun 24 14:10:46 CEST 2009 root@marvin.blogreen.org:/usr/obj/usr/src/sys/MARVIN i386


	
>Description:

The update to the 2.4.2 release makes patch-mono_mini_mini-x86.c useless (applied upstream).

>How-To-Repeat:
	
>Fix:

	



--- mono.diff begins here ---
diff -ruN /var/cache/portshaker/freebsd/lang/mono/Makefile /tmp/mono/Makefile
--- /var/cache/portshaker/freebsd/lang/mono/Makefile	2009-06-22 09:55:46.000000000 +0200
+++ /tmp/mono/Makefile	2009-07-04 23:25:55.672516000 +0200
@@ -7,7 +7,7 @@
 #
 
 PORTNAME=	mono
-PORTVERSION=	2.4
+PORTVERSION=	2.4.2
 CATEGORIES=	lang
 MASTER_SITES=	http://ftp.novell.com/pub/mono/sources/${PORTNAME}/
 
diff -ruN /var/cache/portshaker/freebsd/lang/mono/distinfo /tmp/mono/distinfo
--- /var/cache/portshaker/freebsd/lang/mono/distinfo	2009-06-22 09:55:46.000000000 +0200
+++ /tmp/mono/distinfo	2009-07-04 23:25:55.672516000 +0200
@@ -1,3 +1,3 @@
-MD5 (mono-2.4.tar.bz2) = da2bf1c0aba2958d26c5e8a9a49fd9d1
-SHA256 (mono-2.4.tar.bz2) = 653544a91374102bf473458a09f1e779955083b6d86682f171ab58a8446511c7
-SIZE (mono-2.4.tar.bz2) = 24861051
+MD5 (mono-2.4.2.tar.bz2) = f086227f3cd4cecb5c1fe0f566760f81
+SHA256 (mono-2.4.2.tar.bz2) = 994324e776af7b77c9feab5cd98eb28bffbf182cf07a17b282e7ec8e181904d1
+SIZE (mono-2.4.2.tar.bz2) = 24759918
diff -ruN /var/cache/portshaker/freebsd/lang/mono/files/patch-mono_mini_mini-x86.c /tmp/mono/files/patch-mono_mini_mini-x86.c
--- /var/cache/portshaker/freebsd/lang/mono/files/patch-mono_mini_mini-x86.c	2009-06-22 09:55:47.000000000 +0200
+++ /tmp/mono/files/patch-mono_mini_mini-x86.c	1970-01-01 01:00:00.000000000 +0100
@@ -1,76 +0,0 @@
-
-$FreeBSD: ports/lang/mono/files/patch-mono_mini_mini-x86.c,v 1.3 2009/06/22 07:55:47 flz Exp $
-
---- mono/mini/mini-x86.c.orig
-+++ mono/mini/mini-x86.c
-@@ -1068,26 +1068,15 @@
- 	}
- 
- 	if (sig->ret && MONO_TYPE_ISSTRUCT (sig->ret)) {
--		MonoInst *vtarg;
--
- 		if (cinfo->ret.storage == ArgValuetypeInReg) {
--			if (cinfo->ret.pair_storage [0] == ArgInIReg && cinfo->ret.pair_storage [1] == ArgNone) {
- 				/*
- 				 * Tell the JIT to use a more efficient calling convention: call using
- 				 * OP_CALL, compute the result location after the call, and save the 
- 				 * result there.
- 				 */
- 				call->vret_in_reg = TRUE;
--			} else {
--				/*
--				 * The valuetype is in EAX:EDX after the call, needs to be copied to
--				 * the stack. Save the address here, so the call instruction can
--				 * access it.
--				 */
--				MONO_INST_NEW (cfg, vtarg, OP_X86_PUSH);
--				vtarg->sreg1 = call->vret_var->dreg;
--				MONO_ADD_INS (cfg->cbb, vtarg);
--			}
-+				if (call->vret_var)
-+					NULLIFY_INS (call->vret_var);
- 		}
- 	}
- 
-@@ -1802,9 +1791,6 @@
- static guint8*
- emit_move_return_value (MonoCompile *cfg, MonoInst *ins, guint8 *code)
- {
--	CallInfo *cinfo;
--	int quad;
--
- 	/* Move return value to the target register */
- 	switch (ins->opcode) {
- 	case OP_CALL:
-@@ -1813,31 +1799,6 @@
- 		if (ins->dreg != X86_EAX)
- 			x86_mov_reg_reg (code, ins->dreg, X86_EAX, 4);
- 		break;
--	case OP_VCALL:
--	case OP_VCALL_REG:
--	case OP_VCALL_MEMBASE:
--	case OP_VCALL2:
--	case OP_VCALL2_REG:
--	case OP_VCALL2_MEMBASE:
--		cinfo = get_call_info (cfg->generic_sharing_context, cfg->mempool, ((MonoCallInst*)ins)->signature, FALSE);
--		if (cinfo->ret.storage == ArgValuetypeInReg) {
--			/* Pop the destination address from the stack */
--			x86_pop_reg (code, X86_ECX);
--			
--			for (quad = 0; quad < 2; quad ++) {
--				switch (cinfo->ret.pair_storage [quad]) {
--				case ArgInIReg:
--					g_assert (cinfo->ret.pair_regs [quad] != X86_ECX);
--					x86_mov_membase_reg (code, X86_ECX, (quad * sizeof (gpointer)), cinfo->ret.pair_regs [quad], sizeof (gpointer));
--					break;
--				case ArgNone:
--					break;
--				default:
--					g_assert_not_reached ();
--				}
--			}
--		}
--		break;
- 	case OP_FCALL: {
- 		MonoCallInst *call = (MonoCallInst*)ins;
- 		if (call->method && !mono_method_signature (call->method)->ret->byref && mono_method_signature (call->method)->ret->type == MONO_TYPE_R4) {
--- mono.diff ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090705151448.348A95C2EA>