[packages/mono] - up to 3.0.7; alpha no longer supported
arekm
arekm at pld-linux.org
Sun Mar 17 21:30:39 CET 2013
commit f5ec6d5e73cbcec5cb3fbaf6b87f8e80cf996014
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Sun Mar 17 21:30:32 2013 +0100
- up to 3.0.7; alpha no longer supported
mono-alpha-float.patch | 101 -------------------------------------------------
mono.spec | 10 ++---
2 files changed, 4 insertions(+), 107 deletions(-)
---
diff --git a/mono.spec b/mono.spec
index a683fc6..023c6bb 100644
--- a/mono.spec
+++ b/mono.spec
@@ -10,7 +10,7 @@
%bcond_with mint # build mint instead of mono VM (JIT) [broken]
%bcond_with llvm # LLVM backend [unfinished, needs unreleased mono-llvm version]
-%ifnarch %{ix86} %{x8664} alpha arm ia64 ppc s390 s390x sparc sparcv9 sparc64
+%ifnarch %{ix86} %{x8664} arm ia64 ppc s390 s390x sparc sparcv9 sparc64
# JIT not supported on hppa
%define with_mint 1
%endif
@@ -18,14 +18,13 @@
Summary: Common Language Infrastructure implementation
Summary(pl.UTF-8): Implementacja Common Language Infrastructure
Name: mono
-Version: 3.0.6
+Version: 3.0.7
Release: 1
License: LGPL v2 (VM), MIT X11/GPL v2 (C# compilers), MIT X11 (classes, tools), GPL v2 (tools)
Group: Development/Languages
# latest downloads summary at http://download.mono-project.com/sources-stable/
Source0: http://download.mono-project.com/sources/mono/%{name}-%{version}.tar.bz2
-# Source0-md5: dda0a130b64eca4f972f01958850b576
-Patch0: %{name}-alpha-float.patch
+# Source0-md5: 76ebec9c97347aac13d9f28fc58b347d
Patch1: %{name}-mint.patch
Patch2: %{name}-sonames.patch
Patch3: %{name}-awk.patch
@@ -57,7 +56,7 @@ Suggests: binfmt-detector
# for System.Drawing
Suggests: libgdiplus >= 2.6
Obsoletes: mono-jscript
-ExclusiveArch: %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
+ExclusiveArch: %{ix86} %{x8664} arm hppa ia64 mips ppc s390 s390x sparc sparcv9
# plain i386 is not supported; mono uses cmpxchg/xadd which require i486
ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -222,7 +221,6 @@ oraz dotGNU.
%prep
%setup -q
-%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
diff --git a/mono-alpha-float.patch b/mono-alpha-float.patch
deleted file mode 100644
index cbbd5ea..0000000
--- a/mono-alpha-float.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- mono-1.1.17/mono/arch/alpha/tramp.c.orig 2006-08-25 21:35:19.000000000 +0200
-+++ mono-1.1.17/mono/arch/alpha/tramp.c 2006-08-30 12:00:25.805971000 +0200
-@@ -162,16 +162,54 @@
- }
-
- static inline unsigned int *
--emit_store_return_default(unsigned int *pi, const gint SIZE )
-+emit_store_return_default(unsigned int *pi, const gint SIZE, MonoMethodSignature *sig )
- {
-- // 2 instructions.
- unsigned int *p = (unsigned int *)pi;
-+ guint32 simpletype;
-+ // 2 instructions.
-
- /* TODO: This probably do different stuff based on the value.
- you know, like stq/l/w. and s/f.
- */
- alpha_ldq( p, alpha_t0, alpha_fp, (SIZE-8) ); // load void * retval
-- alpha_stq( p, alpha_v0, alpha_t0, 0 ); // store the result to *retval.
-+ /* XXX: may need more variants */
-+ if (sig->ret->byref) {
-+ alpha_stq( p, alpha_v0, alpha_t0, 0 ); // store the result to *retval.
-+ } else {
-+ simpletype = sig->ret->type;
-+ if ((simpletype == MONO_TYPE_VALUETYPE) && sig->ret->data.klass->enumtype) {
-+ simpletype = sig->ret->data.klass->enum_basetype->type;
-+ }
-+ switch(simpletype) {
-+ case MONO_TYPE_BOOLEAN:
-+ case MONO_TYPE_I1:
-+ case MONO_TYPE_U1:
-+ case MONO_TYPE_CHAR:
-+ case MONO_TYPE_I2:
-+ case MONO_TYPE_U2:
-+ case MONO_TYPE_VOID:
-+ case MONO_TYPE_I4:
-+ case MONO_TYPE_U4:
-+ case MONO_TYPE_I:
-+ case MONO_TYPE_U:
-+ case MONO_TYPE_I8:
-+ case MONO_TYPE_U8:
-+ case MONO_TYPE_CLASS:
-+ case MONO_TYPE_OBJECT:
-+ case MONO_TYPE_SZARRAY:
-+ case MONO_TYPE_ARRAY:
-+ case MONO_TYPE_STRING:
-+ alpha_stq( p, alpha_v0, alpha_t0, 0 ); // store the result to *retval.
-+ break;
-+ case MONO_TYPE_R4:
-+ case MONO_TYPE_R8:
-+ alpha_stt( p, alpha_fv0, alpha_t0, 0 ); // store the result to *retval.
-+ break;
-+ default:
-+ g_error ("Can't handle as return value 0x%x", sig->ret->type);
-+ }
-+
-+ }
- return p;
- }
-
-@@ -332,22 +370,22 @@
- break;
- case MONO_TYPE_R4:
- case MONO_TYPE_R8:
-- /*
-- // floating point... Maybe this does the correct thing.
-- if( i > alpharegs )
-+ // floating point; both types use double C type in mono
-+ if( i >= alpharegs )
- {
-- alpha_ldq( p, alpha_t1, alpha_t0, ARG_LOC( i ) );
-- alpha_cpys( p, alpha_ft1, alpha_ft1, alpha_ft2 );
-- alpha_stt( p, alpha_ft2, alpha_sp, pos );
-+ // load into temp register, then store on the stack
-+ alpha_ldt( p, alpha_ft1, alpha_t0, ARG_LOC( i ) );
-+ alpha_stt( p, alpha_ft1, alpha_sp, pos );
- pos -= 8;
- }
- else
- {
-- alpha_ldq( p, alpha_t1, alpha_t0, ARG_LOC(i) );
-- alpha_cpys( p, alpha_ft1, alpha_ft1, alpha_fa0 + i + hasthis );
-+ // load into register
-+ // (float regs are numbered in the same way as integer ones,
-+ // so we can abuse regbase)
-+ alpha_ldt( p, regbase + i, alpha_t0, ARG_LOC(i) );
- }
- break;
-- */
- case MONO_TYPE_VALUETYPE:
- g_error ("Not implemented: ValueType as parameter to delegate." );
- break;
-@@ -360,7 +398,7 @@
-
- // Now call the function and store the return parameter.
- p = emit_call( p, STACK_SIZE );
-- p = emit_store_return_default( p, STACK_SIZE );
-+ p = emit_store_return_default( p, STACK_SIZE, sig );
- p = emit_epilog( p, STACK_SIZE );
-
- if( p > buffer + BUFFER_SIZE )
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/mono.git/commitdiff/f5ec6d5e73cbcec5cb3fbaf6b87f8e80cf996014
More information about the pld-cvs-commit
mailing list