[arch-commits] Commit in mono/repos (24 files)

Daniel Isenmann daniel at archlinux.org
Thu Jan 15 20:56:23 UTC 2015


    Date: Thursday, January 15, 2015 @ 21:56:23
  Author: daniel
Revision: 229096

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  mono/repos/extra-i686/Microsoft.Portable.Common.targets
    (from rev 229095, mono/trunk/Microsoft.Portable.Common.targets)
  mono/repos/extra-i686/PKGBUILD
    (from rev 229095, mono/trunk/PKGBUILD)
  mono/repos/extra-i686/bug434892.patch
    (from rev 229095, mono/trunk/bug434892.patch)
  mono/repos/extra-i686/build_fix.patch
    (from rev 229095, mono/trunk/build_fix.patch)
  mono/repos/extra-i686/mono.binfmt.d
    (from rev 229095, mono/trunk/mono.binfmt.d)
  mono/repos/extra-i686/sgen_fix.patch
    (from rev 229095, mono/trunk/sgen_fix.patch)
  mono/repos/extra-x86_64/Microsoft.Portable.Common.targets
    (from rev 229095, mono/trunk/Microsoft.Portable.Common.targets)
  mono/repos/extra-x86_64/PKGBUILD
    (from rev 229095, mono/trunk/PKGBUILD)
  mono/repos/extra-x86_64/bug434892.patch
    (from rev 229095, mono/trunk/bug434892.patch)
  mono/repos/extra-x86_64/build_fix.patch
    (from rev 229095, mono/trunk/build_fix.patch)
  mono/repos/extra-x86_64/mono.binfmt.d
    (from rev 229095, mono/trunk/mono.binfmt.d)
  mono/repos/extra-x86_64/sgen_fix.patch
    (from rev 229095, mono/trunk/sgen_fix.patch)
Deleted:
  mono/repos/extra-i686/Microsoft.Portable.Common.targets
  mono/repos/extra-i686/PKGBUILD
  mono/repos/extra-i686/bug434892.patch
  mono/repos/extra-i686/build_fix.patch
  mono/repos/extra-i686/mono.binfmt.d
  mono/repos/extra-i686/sgen_fix.patch
  mono/repos/extra-x86_64/Microsoft.Portable.Common.targets
  mono/repos/extra-x86_64/PKGBUILD
  mono/repos/extra-x86_64/bug434892.patch
  mono/repos/extra-x86_64/build_fix.patch
  mono/repos/extra-x86_64/mono.binfmt.d
  mono/repos/extra-x86_64/sgen_fix.patch

------------------------------------------------+
 /Microsoft.Portable.Common.targets             |    8 
 /PKGBUILD                                      |  134 +++++++++++++
 /bug434892.patch                               |   22 ++
 /build_fix.patch                               |   50 +++++
 /mono.binfmt.d                                 |    2 
 /sgen_fix.patch                                |  224 +++++++++++++++++++++++
 extra-i686/Microsoft.Portable.Common.targets   |    4 
 extra-i686/PKGBUILD                            |   67 ------
 extra-i686/bug434892.patch                     |   11 -
 extra-i686/build_fix.patch                     |   25 --
 extra-i686/mono.binfmt.d                       |    1 
 extra-i686/sgen_fix.patch                      |  112 -----------
 extra-x86_64/Microsoft.Portable.Common.targets |    4 
 extra-x86_64/PKGBUILD                          |   67 ------
 extra-x86_64/bug434892.patch                   |   11 -
 extra-x86_64/build_fix.patch                   |   25 --
 extra-x86_64/mono.binfmt.d                     |    1 
 extra-x86_64/sgen_fix.patch                    |  112 -----------
 18 files changed, 440 insertions(+), 440 deletions(-)

Deleted: extra-i686/Microsoft.Portable.Common.targets
===================================================================
--- extra-i686/Microsoft.Portable.Common.targets	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/Microsoft.Portable.Common.targets	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,4 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-	<Import Project="..\Microsoft.Portable.Core.props" />
-	<Import Project="..\Microsoft.Portable.Core.targets" />
-</Project>

Copied: mono/repos/extra-i686/Microsoft.Portable.Common.targets (from rev 229095, mono/trunk/Microsoft.Portable.Common.targets)
===================================================================
--- extra-i686/Microsoft.Portable.Common.targets	                        (rev 0)
+++ extra-i686/Microsoft.Portable.Common.targets	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,4 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<Import Project="..\Microsoft.Portable.Core.props" />
+	<Import Project="..\Microsoft.Portable.Core.targets" />
+</Project>

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/PKGBUILD	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,67 +0,0 @@
-# $Id$
-# Maintainer: Daniel Isenmann <daniel at archlinux.org>
-# Contributor: Brice Carpentier <brice at dlfp.org>
-
-pkgname=mono
-pkgver=3.10.0
-pkgrel=1
-pkgdesc="Free implementation of the .NET platform including runtime and compiler"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL2.1' 'MPL' 'custom:MITX11')
-url="http://www.mono-project.com/"
-depends=('zlib' 'libgdiplus>=3.8' 'sh' 'python')
-options=('!makeflags')
-provides=('monodoc')
-conflicts=('monodoc')
-source=(http://download.mono-project.com/sources/mono/${pkgname}-${pkgver}.tar.bz2
-        mono.binfmt.d
-        sgen_fix.patch
-	build_fix.patch
-	Microsoft.Portable.Common.targets)
-md5sums=('8c79f38bcab3ad0cf65728ca4c76b3c6'
-         'b9ef8a65fea497acf176cca16c1e2402'
-         '8a700b94bff7a913f920e95890d2fb4c'
-         '30a5af1a4ff50b98f9e73cc2ae554115'
-         'acbffadb0ac233c494b40dd5e79209a5')
-
-build() {
-  cd "${srcdir}"/${pkgname}-${pkgver}
-
-  #patch -p1 < ../build_fix.patch  
-  #cp ../Microsoft.Portable.Common.targets mcs/tools/xbuild/targets/
-
-  # build mono
-  ./configure --prefix=/usr \
-    --sysconfdir=/etc \
-    --bindir=/usr/bin \
-    --sbindir=/usr/bin \
-    --disable-quiet-build \
-    --disable-system-aot \
-    --disable-static \
-    --with-mcs-docs=no
-  make
-
-  # build jay
-  cd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
-  make
-}
-
-package() {
-  cd "${srcdir}"/${pkgname}-${pkgver}
-  make DESTDIR="${pkgdir}" install
-
-  # install jay
-  pushd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
-  make DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install
-  popd
-
-  # install binfmt conf file and pathes
-  install -D -m644 "${srcdir}"/mono.binfmt.d "${pkgdir}"/usr/lib/binfmt.d/mono.conf
-
-  #install license
-  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
-  install -m644 mcs/MIT.X11 "${pkgdir}"/usr/share/licenses/${pkgname}/
-
-  #fix .pc file to be able to request mono on what it depends, fixes #go-oo build
-  sed -i -e "s:#Requires:Requires:" "${pkgdir}"/usr/lib/pkgconfig/mono.pc
-}

Copied: mono/repos/extra-i686/PKGBUILD (from rev 229095, mono/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,67 @@
+# $Id$
+# Maintainer: Daniel Isenmann <daniel at archlinux.org>
+# Contributor: Brice Carpentier <brice at dlfp.org>
+
+pkgname=mono
+pkgver=3.12.0
+pkgrel=1
+pkgdesc="Free implementation of the .NET platform including runtime and compiler"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL2.1' 'MPL' 'custom:MITX11')
+url="http://www.mono-project.com/"
+depends=('zlib' 'libgdiplus>=3.8' 'sh' 'python')
+options=('!makeflags')
+provides=('monodoc')
+conflicts=('monodoc')
+source=(http://download.mono-project.com/sources/mono/${pkgname}-${pkgver}.tar.bz2
+        mono.binfmt.d
+        sgen_fix.patch
+	build_fix.patch
+	Microsoft.Portable.Common.targets)
+md5sums=('0fbca17e5bfce5124d4bc915faa697d7'
+         'b9ef8a65fea497acf176cca16c1e2402'
+         '8a700b94bff7a913f920e95890d2fb4c'
+         '30a5af1a4ff50b98f9e73cc2ae554115'
+         'acbffadb0ac233c494b40dd5e79209a5')
+
+build() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+
+  #patch -p1 < ../build_fix.patch  
+  #cp ../Microsoft.Portable.Common.targets mcs/tools/xbuild/targets/
+
+  # build mono
+  ./configure --prefix=/usr \
+    --sysconfdir=/etc \
+    --bindir=/usr/bin \
+    --sbindir=/usr/bin \
+    --disable-quiet-build \
+    --disable-system-aot \
+    --disable-static \
+    --with-mcs-docs=no
+  make
+
+  # build jay
+  cd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
+  make
+}
+
+package() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+
+  # install jay
+  pushd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
+  make DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install
+  popd
+
+  # install binfmt conf file and pathes
+  install -D -m644 "${srcdir}"/mono.binfmt.d "${pkgdir}"/usr/lib/binfmt.d/mono.conf
+
+  #install license
+  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
+  install -m644 mcs/MIT.X11 "${pkgdir}"/usr/share/licenses/${pkgname}/
+
+  #fix .pc file to be able to request mono on what it depends, fixes #go-oo build
+  sed -i -e "s:#Requires:Requires:" "${pkgdir}"/usr/lib/pkgconfig/mono.pc
+}

Deleted: extra-i686/bug434892.patch
===================================================================
--- extra-i686/bug434892.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/bug434892.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,11 +0,0 @@
---- trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/07/01 20:17:46	107006
-+++ trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/10/28 09:32:46	117243
-@@ -177,7 +177,7 @@
- 				foreach (OperationMessage om in op.Messages) {
- 					Message msg = ctx.Services.GetMessage (om.Message);
- 					foreach (MessagePart part in msg.Parts)
--						parts.Add (part,part);
-+						parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
- 				}
- 			}
- 			

Copied: mono/repos/extra-i686/bug434892.patch (from rev 229095, mono/trunk/bug434892.patch)
===================================================================
--- extra-i686/bug434892.patch	                        (rev 0)
+++ extra-i686/bug434892.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,11 @@
+--- trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/07/01 20:17:46	107006
++++ trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/10/28 09:32:46	117243
+@@ -177,7 +177,7 @@
+ 				foreach (OperationMessage om in op.Messages) {
+ 					Message msg = ctx.Services.GetMessage (om.Message);
+ 					foreach (MessagePart part in msg.Parts)
+-						parts.Add (part,part);
++						parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
+ 				}
+ 			}
+ 			

Deleted: extra-i686/build_fix.patch
===================================================================
--- extra-i686/build_fix.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/build_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,25 +0,0 @@
-From c68c72144d7b2a0516276137855d4508a3f59a17 Mon Sep 17 00:00:00 2001
-From: Michael Hutchinson <m.j.hutchinson at gmail.com>
-Date: Tue, 1 Apr 2014 17:21:51 -0400
-Subject: [PATCH] [xbuild] Include PCL common targets in tarball
-
-BXC18690 - Microsoft.Portable.Common.targets is missing in mono 3.4.0 tarball
----
- mcs/tools/xbuild/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile
-index c3a5d6a..31d5329 100644
---- a/mcs/tools/xbuild/Makefile
-+++ b/mcs/tools/xbuild/Makefile
-@@ -93,6 +93,7 @@ EXTRA_DISTFILES = \
- 	frameworks/net_4.5.xml \
- 	targets/Microsoft.Portable.CSharp_4.0.targets \
- 	targets/Microsoft.Portable.CSharp_4.5.targets \
-+	targets/Microsoft.Portable.Common.targets \
- 	targets/Microsoft.Portable.Core.targets \
- 	targets/Microsoft.Portable.Core.props \
- 	targets/Microsoft.WebApplication.targets \
--- 
-1.9.3
-

Copied: mono/repos/extra-i686/build_fix.patch (from rev 229095, mono/trunk/build_fix.patch)
===================================================================
--- extra-i686/build_fix.patch	                        (rev 0)
+++ extra-i686/build_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,25 @@
+From c68c72144d7b2a0516276137855d4508a3f59a17 Mon Sep 17 00:00:00 2001
+From: Michael Hutchinson <m.j.hutchinson at gmail.com>
+Date: Tue, 1 Apr 2014 17:21:51 -0400
+Subject: [PATCH] [xbuild] Include PCL common targets in tarball
+
+BXC18690 - Microsoft.Portable.Common.targets is missing in mono 3.4.0 tarball
+---
+ mcs/tools/xbuild/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile
+index c3a5d6a..31d5329 100644
+--- a/mcs/tools/xbuild/Makefile
++++ b/mcs/tools/xbuild/Makefile
+@@ -93,6 +93,7 @@ EXTRA_DISTFILES = \
+ 	frameworks/net_4.5.xml \
+ 	targets/Microsoft.Portable.CSharp_4.0.targets \
+ 	targets/Microsoft.Portable.CSharp_4.5.targets \
++	targets/Microsoft.Portable.Common.targets \
+ 	targets/Microsoft.Portable.Core.targets \
+ 	targets/Microsoft.Portable.Core.props \
+ 	targets/Microsoft.WebApplication.targets \
+-- 
+1.9.3
+

Deleted: extra-i686/mono.binfmt.d
===================================================================
--- extra-i686/mono.binfmt.d	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/mono.binfmt.d	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1 +0,0 @@
-:CLR:M::MZ::/usr/bin/mono:

Copied: mono/repos/extra-i686/mono.binfmt.d (from rev 229095, mono/trunk/mono.binfmt.d)
===================================================================
--- extra-i686/mono.binfmt.d	                        (rev 0)
+++ extra-i686/mono.binfmt.d	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1 @@
+:CLR:M::MZ::/usr/bin/mono:

Deleted: extra-i686/sgen_fix.patch
===================================================================
--- extra-i686/sgen_fix.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-i686/sgen_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,112 +0,0 @@
-From d2cc22580898df5d4a15e0f99ab513e1570a6082 Mon Sep 17 00:00:00 2001
-From: Zoltan Varga <vargaz at gmail.com>
-Date: Fri, 20 Sep 2013 19:06:34 +0200
-Subject: [PATCH] [sgen] Use __builtin_ctzl () in OBJ_BITMAP_FOREACH_PTR () on
- 64 bit platforms. Fixes #14834.
-
----
- mono/metadata/sgen-descriptor.h | 28 +++++++++++++++++++++++++---
- mono/tests/sgen-descriptors.cs  | 15 +++++++++++++--
- 2 files changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/mono/metadata/sgen-descriptor.h b/mono/metadata/sgen-descriptor.h
-index cd53a86..3a00589 100644
---- a/mono/metadata/sgen-descriptor.h
-+++ b/mono/metadata/sgen-descriptor.h
-@@ -170,21 +170,43 @@ enum {
- 		}	\
- 	} while (0)
- 
--#ifdef __GNUC__
-+#if defined(__GNUC__) && SIZEOF_VOID_P==4
-+#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
-+		/* there are pointers */        \
-+		void **_objptr = (void**)(obj); \
-+		gsize _bmap = (desc) >> 16;     \
-+		_objptr += OBJECT_HEADER_WORDS; \
-+		{ \
-+			int _index = __builtin_ctz (_bmap);		\
-+			_objptr += _index; \
-+			_bmap >>= (_index + 1);				\
-+			HANDLE_PTR (_objptr, (obj));		\
-+			_objptr ++;							\
-+			} \
-+		while (_bmap) { \
-+			int _index = __builtin_ctz (_bmap);		\
-+			_objptr += _index; \
-+			_bmap >>= (_index + 1);				\
-+			HANDLE_PTR (_objptr, (obj));		\
-+			_objptr ++;							\
-+		}										\
-+	} while (0)
-+#elif defined(__GNUC__) && SIZEOF_VOID_P==8
-+/* Same as above, but use _builtin_ctzl () */
- #define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
- 		/* there are pointers */        \
- 		void **_objptr = (void**)(obj); \
- 		gsize _bmap = (desc) >> 16;     \
- 		_objptr += OBJECT_HEADER_WORDS; \
- 		{ \
--			int _index = __builtin_ctz (_bmap); \
-+			int _index = __builtin_ctzl (_bmap);		\
- 			_objptr += _index; \
- 			_bmap >>= (_index + 1);				\
- 			HANDLE_PTR (_objptr, (obj));		\
- 			_objptr ++;							\
- 			} \
- 		while (_bmap) { \
--			int _index = __builtin_ctz (_bmap); \
-+			int _index = __builtin_ctzl (_bmap);		\
- 			_objptr += _index; \
- 			_bmap >>= (_index + 1);				\
- 			HANDLE_PTR (_objptr, (obj));		\
-diff --git a/mono/tests/sgen-descriptors.cs b/mono/tests/sgen-descriptors.cs
-index ae00084..246e5aa 100644
---- a/mono/tests/sgen-descriptors.cs
-+++ b/mono/tests/sgen-descriptors.cs
-@@ -1,4 +1,5 @@
- using System;
-+using System.Runtime.InteropServices;
- 
- public struct SmallMixed
- {
-@@ -47,6 +48,13 @@ public class HugePtrFree {
- 	public LargeStruct2 c;
- }
- 
-+[StructLayout (LayoutKind.Sequential)]
-+public class Non32bitBitmap {
-+	public object o;
-+	public long i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35;
-+	public object o2;
-+}
-+
- /*
- This is a stress test for descriptors.
- */
-@@ -54,10 +62,10 @@ class Driver {
- 	static char[] FOO = new char[] { 'f', 'o', 'b' };
- 
- 	static void Fill (int cycles) {
--		object[] root = new object [12];
-+		object[] root = new object [13];
- 		object[] current = root;
- 		for (int i = 0; i < cycles; ++i) {
--			current [0] = new object [12];
-+			current [0] = new object [13];
- 			current [1] = new int [6];
- 			current [2] = new int [2,3];
- 			current [3] = new string (FOO);
-@@ -72,6 +80,9 @@ class Driver {
- 				current [10] = new HugePtrFree ();
- 			if ((i %  10000) == 0)
- 				current [11] = new LargeStruct2 [1];
-+
-+			/* Test for 64 bit bitmap descriptors (#14834) */
-+			current [12] = new Non32bitBitmap () { o = new object (), i32 = 1, i33 = 1, i34 = 1, i35 = 1, o2 = new object () };
- 	
- 			current = (object[])current [0];
- 		}
--- 
-1.8.4
-

Copied: mono/repos/extra-i686/sgen_fix.patch (from rev 229095, mono/trunk/sgen_fix.patch)
===================================================================
--- extra-i686/sgen_fix.patch	                        (rev 0)
+++ extra-i686/sgen_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,112 @@
+From d2cc22580898df5d4a15e0f99ab513e1570a6082 Mon Sep 17 00:00:00 2001
+From: Zoltan Varga <vargaz at gmail.com>
+Date: Fri, 20 Sep 2013 19:06:34 +0200
+Subject: [PATCH] [sgen] Use __builtin_ctzl () in OBJ_BITMAP_FOREACH_PTR () on
+ 64 bit platforms. Fixes #14834.
+
+---
+ mono/metadata/sgen-descriptor.h | 28 +++++++++++++++++++++++++---
+ mono/tests/sgen-descriptors.cs  | 15 +++++++++++++--
+ 2 files changed, 38 insertions(+), 5 deletions(-)
+
+diff --git a/mono/metadata/sgen-descriptor.h b/mono/metadata/sgen-descriptor.h
+index cd53a86..3a00589 100644
+--- a/mono/metadata/sgen-descriptor.h
++++ b/mono/metadata/sgen-descriptor.h
+@@ -170,21 +170,43 @@ enum {
+ 		}	\
+ 	} while (0)
+ 
+-#ifdef __GNUC__
++#if defined(__GNUC__) && SIZEOF_VOID_P==4
++#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
++		/* there are pointers */        \
++		void **_objptr = (void**)(obj); \
++		gsize _bmap = (desc) >> 16;     \
++		_objptr += OBJECT_HEADER_WORDS; \
++		{ \
++			int _index = __builtin_ctz (_bmap);		\
++			_objptr += _index; \
++			_bmap >>= (_index + 1);				\
++			HANDLE_PTR (_objptr, (obj));		\
++			_objptr ++;							\
++			} \
++		while (_bmap) { \
++			int _index = __builtin_ctz (_bmap);		\
++			_objptr += _index; \
++			_bmap >>= (_index + 1);				\
++			HANDLE_PTR (_objptr, (obj));		\
++			_objptr ++;							\
++		}										\
++	} while (0)
++#elif defined(__GNUC__) && SIZEOF_VOID_P==8
++/* Same as above, but use _builtin_ctzl () */
+ #define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
+ 		/* there are pointers */        \
+ 		void **_objptr = (void**)(obj); \
+ 		gsize _bmap = (desc) >> 16;     \
+ 		_objptr += OBJECT_HEADER_WORDS; \
+ 		{ \
+-			int _index = __builtin_ctz (_bmap); \
++			int _index = __builtin_ctzl (_bmap);		\
+ 			_objptr += _index; \
+ 			_bmap >>= (_index + 1);				\
+ 			HANDLE_PTR (_objptr, (obj));		\
+ 			_objptr ++;							\
+ 			} \
+ 		while (_bmap) { \
+-			int _index = __builtin_ctz (_bmap); \
++			int _index = __builtin_ctzl (_bmap);		\
+ 			_objptr += _index; \
+ 			_bmap >>= (_index + 1);				\
+ 			HANDLE_PTR (_objptr, (obj));		\
+diff --git a/mono/tests/sgen-descriptors.cs b/mono/tests/sgen-descriptors.cs
+index ae00084..246e5aa 100644
+--- a/mono/tests/sgen-descriptors.cs
++++ b/mono/tests/sgen-descriptors.cs
+@@ -1,4 +1,5 @@
+ using System;
++using System.Runtime.InteropServices;
+ 
+ public struct SmallMixed
+ {
+@@ -47,6 +48,13 @@ public class HugePtrFree {
+ 	public LargeStruct2 c;
+ }
+ 
++[StructLayout (LayoutKind.Sequential)]
++public class Non32bitBitmap {
++	public object o;
++	public long i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35;
++	public object o2;
++}
++
+ /*
+ This is a stress test for descriptors.
+ */
+@@ -54,10 +62,10 @@ class Driver {
+ 	static char[] FOO = new char[] { 'f', 'o', 'b' };
+ 
+ 	static void Fill (int cycles) {
+-		object[] root = new object [12];
++		object[] root = new object [13];
+ 		object[] current = root;
+ 		for (int i = 0; i < cycles; ++i) {
+-			current [0] = new object [12];
++			current [0] = new object [13];
+ 			current [1] = new int [6];
+ 			current [2] = new int [2,3];
+ 			current [3] = new string (FOO);
+@@ -72,6 +80,9 @@ class Driver {
+ 				current [10] = new HugePtrFree ();
+ 			if ((i %  10000) == 0)
+ 				current [11] = new LargeStruct2 [1];
++
++			/* Test for 64 bit bitmap descriptors (#14834) */
++			current [12] = new Non32bitBitmap () { o = new object (), i32 = 1, i33 = 1, i34 = 1, i35 = 1, o2 = new object () };
+ 	
+ 			current = (object[])current [0];
+ 		}
+-- 
+1.8.4
+

Deleted: extra-x86_64/Microsoft.Portable.Common.targets
===================================================================
--- extra-x86_64/Microsoft.Portable.Common.targets	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/Microsoft.Portable.Common.targets	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,4 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-	<Import Project="..\Microsoft.Portable.Core.props" />
-	<Import Project="..\Microsoft.Portable.Core.targets" />
-</Project>

Copied: mono/repos/extra-x86_64/Microsoft.Portable.Common.targets (from rev 229095, mono/trunk/Microsoft.Portable.Common.targets)
===================================================================
--- extra-x86_64/Microsoft.Portable.Common.targets	                        (rev 0)
+++ extra-x86_64/Microsoft.Portable.Common.targets	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,4 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+	<Import Project="..\Microsoft.Portable.Core.props" />
+	<Import Project="..\Microsoft.Portable.Core.targets" />
+</Project>

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/PKGBUILD	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,67 +0,0 @@
-# $Id$
-# Maintainer: Daniel Isenmann <daniel at archlinux.org>
-# Contributor: Brice Carpentier <brice at dlfp.org>
-
-pkgname=mono
-pkgver=3.10.0
-pkgrel=1
-pkgdesc="Free implementation of the .NET platform including runtime and compiler"
-arch=(i686 x86_64)
-license=('GPL' 'LGPL2.1' 'MPL' 'custom:MITX11')
-url="http://www.mono-project.com/"
-depends=('zlib' 'libgdiplus>=3.8' 'sh' 'python')
-options=('!makeflags')
-provides=('monodoc')
-conflicts=('monodoc')
-source=(http://download.mono-project.com/sources/mono/${pkgname}-${pkgver}.tar.bz2
-        mono.binfmt.d
-        sgen_fix.patch
-	build_fix.patch
-	Microsoft.Portable.Common.targets)
-md5sums=('8c79f38bcab3ad0cf65728ca4c76b3c6'
-         'b9ef8a65fea497acf176cca16c1e2402'
-         '8a700b94bff7a913f920e95890d2fb4c'
-         '30a5af1a4ff50b98f9e73cc2ae554115'
-         'acbffadb0ac233c494b40dd5e79209a5')
-
-build() {
-  cd "${srcdir}"/${pkgname}-${pkgver}
-
-  #patch -p1 < ../build_fix.patch  
-  #cp ../Microsoft.Portable.Common.targets mcs/tools/xbuild/targets/
-
-  # build mono
-  ./configure --prefix=/usr \
-    --sysconfdir=/etc \
-    --bindir=/usr/bin \
-    --sbindir=/usr/bin \
-    --disable-quiet-build \
-    --disable-system-aot \
-    --disable-static \
-    --with-mcs-docs=no
-  make
-
-  # build jay
-  cd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
-  make
-}
-
-package() {
-  cd "${srcdir}"/${pkgname}-${pkgver}
-  make DESTDIR="${pkgdir}" install
-
-  # install jay
-  pushd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
-  make DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install
-  popd
-
-  # install binfmt conf file and pathes
-  install -D -m644 "${srcdir}"/mono.binfmt.d "${pkgdir}"/usr/lib/binfmt.d/mono.conf
-
-  #install license
-  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
-  install -m644 mcs/MIT.X11 "${pkgdir}"/usr/share/licenses/${pkgname}/
-
-  #fix .pc file to be able to request mono on what it depends, fixes #go-oo build
-  sed -i -e "s:#Requires:Requires:" "${pkgdir}"/usr/lib/pkgconfig/mono.pc
-}

Copied: mono/repos/extra-x86_64/PKGBUILD (from rev 229095, mono/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,67 @@
+# $Id$
+# Maintainer: Daniel Isenmann <daniel at archlinux.org>
+# Contributor: Brice Carpentier <brice at dlfp.org>
+
+pkgname=mono
+pkgver=3.12.0
+pkgrel=1
+pkgdesc="Free implementation of the .NET platform including runtime and compiler"
+arch=(i686 x86_64)
+license=('GPL' 'LGPL2.1' 'MPL' 'custom:MITX11')
+url="http://www.mono-project.com/"
+depends=('zlib' 'libgdiplus>=3.8' 'sh' 'python')
+options=('!makeflags')
+provides=('monodoc')
+conflicts=('monodoc')
+source=(http://download.mono-project.com/sources/mono/${pkgname}-${pkgver}.tar.bz2
+        mono.binfmt.d
+        sgen_fix.patch
+	build_fix.patch
+	Microsoft.Portable.Common.targets)
+md5sums=('0fbca17e5bfce5124d4bc915faa697d7'
+         'b9ef8a65fea497acf176cca16c1e2402'
+         '8a700b94bff7a913f920e95890d2fb4c'
+         '30a5af1a4ff50b98f9e73cc2ae554115'
+         'acbffadb0ac233c494b40dd5e79209a5')
+
+build() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+
+  #patch -p1 < ../build_fix.patch  
+  #cp ../Microsoft.Portable.Common.targets mcs/tools/xbuild/targets/
+
+  # build mono
+  ./configure --prefix=/usr \
+    --sysconfdir=/etc \
+    --bindir=/usr/bin \
+    --sbindir=/usr/bin \
+    --disable-quiet-build \
+    --disable-system-aot \
+    --disable-static \
+    --with-mcs-docs=no
+  make
+
+  # build jay
+  cd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
+  make
+}
+
+package() {
+  cd "${srcdir}"/${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+
+  # install jay
+  pushd "${srcdir}"/${pkgname}-${pkgver}/mcs/jay
+  make DESTDIR="${pkgdir}" prefix=/usr INSTALL=../../install-sh install
+  popd
+
+  # install binfmt conf file and pathes
+  install -D -m644 "${srcdir}"/mono.binfmt.d "${pkgdir}"/usr/lib/binfmt.d/mono.conf
+
+  #install license
+  mkdir -p "${pkgdir}"/usr/share/licenses/${pkgname}
+  install -m644 mcs/MIT.X11 "${pkgdir}"/usr/share/licenses/${pkgname}/
+
+  #fix .pc file to be able to request mono on what it depends, fixes #go-oo build
+  sed -i -e "s:#Requires:Requires:" "${pkgdir}"/usr/lib/pkgconfig/mono.pc
+}

Deleted: extra-x86_64/bug434892.patch
===================================================================
--- extra-x86_64/bug434892.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/bug434892.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,11 +0,0 @@
---- trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/07/01 20:17:46	107006
-+++ trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/10/28 09:32:46	117243
-@@ -177,7 +177,7 @@
- 				foreach (OperationMessage om in op.Messages) {
- 					Message msg = ctx.Services.GetMessage (om.Message);
- 					foreach (MessagePart part in msg.Parts)
--						parts.Add (part,part);
-+						parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
- 				}
- 			}
- 			

Copied: mono/repos/extra-x86_64/bug434892.patch (from rev 229095, mono/trunk/bug434892.patch)
===================================================================
--- extra-x86_64/bug434892.patch	                        (rev 0)
+++ extra-x86_64/bug434892.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,11 @@
+--- trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/07/01 20:17:46	107006
++++ trunk/mcs/class/System.Web.Services/System.Web.Services.Description/BasicProfileChecker.cs	2008/10/28 09:32:46	117243
+@@ -177,7 +177,7 @@
+ 				foreach (OperationMessage om in op.Messages) {
+ 					Message msg = ctx.Services.GetMessage (om.Message);
+ 					foreach (MessagePart part in msg.Parts)
+-						parts.Add (part,part);
++						parts [part] = part; // do not use Add() - there could be the same MessagePart instance.
+ 				}
+ 			}
+ 			

Deleted: extra-x86_64/build_fix.patch
===================================================================
--- extra-x86_64/build_fix.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/build_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,25 +0,0 @@
-From c68c72144d7b2a0516276137855d4508a3f59a17 Mon Sep 17 00:00:00 2001
-From: Michael Hutchinson <m.j.hutchinson at gmail.com>
-Date: Tue, 1 Apr 2014 17:21:51 -0400
-Subject: [PATCH] [xbuild] Include PCL common targets in tarball
-
-BXC18690 - Microsoft.Portable.Common.targets is missing in mono 3.4.0 tarball
----
- mcs/tools/xbuild/Makefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile
-index c3a5d6a..31d5329 100644
---- a/mcs/tools/xbuild/Makefile
-+++ b/mcs/tools/xbuild/Makefile
-@@ -93,6 +93,7 @@ EXTRA_DISTFILES = \
- 	frameworks/net_4.5.xml \
- 	targets/Microsoft.Portable.CSharp_4.0.targets \
- 	targets/Microsoft.Portable.CSharp_4.5.targets \
-+	targets/Microsoft.Portable.Common.targets \
- 	targets/Microsoft.Portable.Core.targets \
- 	targets/Microsoft.Portable.Core.props \
- 	targets/Microsoft.WebApplication.targets \
--- 
-1.9.3
-

Copied: mono/repos/extra-x86_64/build_fix.patch (from rev 229095, mono/trunk/build_fix.patch)
===================================================================
--- extra-x86_64/build_fix.patch	                        (rev 0)
+++ extra-x86_64/build_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,25 @@
+From c68c72144d7b2a0516276137855d4508a3f59a17 Mon Sep 17 00:00:00 2001
+From: Michael Hutchinson <m.j.hutchinson at gmail.com>
+Date: Tue, 1 Apr 2014 17:21:51 -0400
+Subject: [PATCH] [xbuild] Include PCL common targets in tarball
+
+BXC18690 - Microsoft.Portable.Common.targets is missing in mono 3.4.0 tarball
+---
+ mcs/tools/xbuild/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mcs/tools/xbuild/Makefile b/mcs/tools/xbuild/Makefile
+index c3a5d6a..31d5329 100644
+--- a/mcs/tools/xbuild/Makefile
++++ b/mcs/tools/xbuild/Makefile
+@@ -93,6 +93,7 @@ EXTRA_DISTFILES = \
+ 	frameworks/net_4.5.xml \
+ 	targets/Microsoft.Portable.CSharp_4.0.targets \
+ 	targets/Microsoft.Portable.CSharp_4.5.targets \
++	targets/Microsoft.Portable.Common.targets \
+ 	targets/Microsoft.Portable.Core.targets \
+ 	targets/Microsoft.Portable.Core.props \
+ 	targets/Microsoft.WebApplication.targets \
+-- 
+1.9.3
+

Deleted: extra-x86_64/mono.binfmt.d
===================================================================
--- extra-x86_64/mono.binfmt.d	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/mono.binfmt.d	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1 +0,0 @@
-:CLR:M::MZ::/usr/bin/mono:

Copied: mono/repos/extra-x86_64/mono.binfmt.d (from rev 229095, mono/trunk/mono.binfmt.d)
===================================================================
--- extra-x86_64/mono.binfmt.d	                        (rev 0)
+++ extra-x86_64/mono.binfmt.d	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1 @@
+:CLR:M::MZ::/usr/bin/mono:

Deleted: extra-x86_64/sgen_fix.patch
===================================================================
--- extra-x86_64/sgen_fix.patch	2015-01-15 20:56:13 UTC (rev 229095)
+++ extra-x86_64/sgen_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -1,112 +0,0 @@
-From d2cc22580898df5d4a15e0f99ab513e1570a6082 Mon Sep 17 00:00:00 2001
-From: Zoltan Varga <vargaz at gmail.com>
-Date: Fri, 20 Sep 2013 19:06:34 +0200
-Subject: [PATCH] [sgen] Use __builtin_ctzl () in OBJ_BITMAP_FOREACH_PTR () on
- 64 bit platforms. Fixes #14834.
-
----
- mono/metadata/sgen-descriptor.h | 28 +++++++++++++++++++++++++---
- mono/tests/sgen-descriptors.cs  | 15 +++++++++++++--
- 2 files changed, 38 insertions(+), 5 deletions(-)
-
-diff --git a/mono/metadata/sgen-descriptor.h b/mono/metadata/sgen-descriptor.h
-index cd53a86..3a00589 100644
---- a/mono/metadata/sgen-descriptor.h
-+++ b/mono/metadata/sgen-descriptor.h
-@@ -170,21 +170,43 @@ enum {
- 		}	\
- 	} while (0)
- 
--#ifdef __GNUC__
-+#if defined(__GNUC__) && SIZEOF_VOID_P==4
-+#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
-+		/* there are pointers */        \
-+		void **_objptr = (void**)(obj); \
-+		gsize _bmap = (desc) >> 16;     \
-+		_objptr += OBJECT_HEADER_WORDS; \
-+		{ \
-+			int _index = __builtin_ctz (_bmap);		\
-+			_objptr += _index; \
-+			_bmap >>= (_index + 1);				\
-+			HANDLE_PTR (_objptr, (obj));		\
-+			_objptr ++;							\
-+			} \
-+		while (_bmap) { \
-+			int _index = __builtin_ctz (_bmap);		\
-+			_objptr += _index; \
-+			_bmap >>= (_index + 1);				\
-+			HANDLE_PTR (_objptr, (obj));		\
-+			_objptr ++;							\
-+		}										\
-+	} while (0)
-+#elif defined(__GNUC__) && SIZEOF_VOID_P==8
-+/* Same as above, but use _builtin_ctzl () */
- #define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
- 		/* there are pointers */        \
- 		void **_objptr = (void**)(obj); \
- 		gsize _bmap = (desc) >> 16;     \
- 		_objptr += OBJECT_HEADER_WORDS; \
- 		{ \
--			int _index = __builtin_ctz (_bmap); \
-+			int _index = __builtin_ctzl (_bmap);		\
- 			_objptr += _index; \
- 			_bmap >>= (_index + 1);				\
- 			HANDLE_PTR (_objptr, (obj));		\
- 			_objptr ++;							\
- 			} \
- 		while (_bmap) { \
--			int _index = __builtin_ctz (_bmap); \
-+			int _index = __builtin_ctzl (_bmap);		\
- 			_objptr += _index; \
- 			_bmap >>= (_index + 1);				\
- 			HANDLE_PTR (_objptr, (obj));		\
-diff --git a/mono/tests/sgen-descriptors.cs b/mono/tests/sgen-descriptors.cs
-index ae00084..246e5aa 100644
---- a/mono/tests/sgen-descriptors.cs
-+++ b/mono/tests/sgen-descriptors.cs
-@@ -1,4 +1,5 @@
- using System;
-+using System.Runtime.InteropServices;
- 
- public struct SmallMixed
- {
-@@ -47,6 +48,13 @@ public class HugePtrFree {
- 	public LargeStruct2 c;
- }
- 
-+[StructLayout (LayoutKind.Sequential)]
-+public class Non32bitBitmap {
-+	public object o;
-+	public long i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35;
-+	public object o2;
-+}
-+
- /*
- This is a stress test for descriptors.
- */
-@@ -54,10 +62,10 @@ class Driver {
- 	static char[] FOO = new char[] { 'f', 'o', 'b' };
- 
- 	static void Fill (int cycles) {
--		object[] root = new object [12];
-+		object[] root = new object [13];
- 		object[] current = root;
- 		for (int i = 0; i < cycles; ++i) {
--			current [0] = new object [12];
-+			current [0] = new object [13];
- 			current [1] = new int [6];
- 			current [2] = new int [2,3];
- 			current [3] = new string (FOO);
-@@ -72,6 +80,9 @@ class Driver {
- 				current [10] = new HugePtrFree ();
- 			if ((i %  10000) == 0)
- 				current [11] = new LargeStruct2 [1];
-+
-+			/* Test for 64 bit bitmap descriptors (#14834) */
-+			current [12] = new Non32bitBitmap () { o = new object (), i32 = 1, i33 = 1, i34 = 1, i35 = 1, o2 = new object () };
- 	
- 			current = (object[])current [0];
- 		}
--- 
-1.8.4
-

Copied: mono/repos/extra-x86_64/sgen_fix.patch (from rev 229095, mono/trunk/sgen_fix.patch)
===================================================================
--- extra-x86_64/sgen_fix.patch	                        (rev 0)
+++ extra-x86_64/sgen_fix.patch	2015-01-15 20:56:23 UTC (rev 229096)
@@ -0,0 +1,112 @@
+From d2cc22580898df5d4a15e0f99ab513e1570a6082 Mon Sep 17 00:00:00 2001
+From: Zoltan Varga <vargaz at gmail.com>
+Date: Fri, 20 Sep 2013 19:06:34 +0200
+Subject: [PATCH] [sgen] Use __builtin_ctzl () in OBJ_BITMAP_FOREACH_PTR () on
+ 64 bit platforms. Fixes #14834.
+
+---
+ mono/metadata/sgen-descriptor.h | 28 +++++++++++++++++++++++++---
+ mono/tests/sgen-descriptors.cs  | 15 +++++++++++++--
+ 2 files changed, 38 insertions(+), 5 deletions(-)
+
+diff --git a/mono/metadata/sgen-descriptor.h b/mono/metadata/sgen-descriptor.h
+index cd53a86..3a00589 100644
+--- a/mono/metadata/sgen-descriptor.h
++++ b/mono/metadata/sgen-descriptor.h
+@@ -170,21 +170,43 @@ enum {
+ 		}	\
+ 	} while (0)
+ 
+-#ifdef __GNUC__
++#if defined(__GNUC__) && SIZEOF_VOID_P==4
++#define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
++		/* there are pointers */        \
++		void **_objptr = (void**)(obj); \
++		gsize _bmap = (desc) >> 16;     \
++		_objptr += OBJECT_HEADER_WORDS; \
++		{ \
++			int _index = __builtin_ctz (_bmap);		\
++			_objptr += _index; \
++			_bmap >>= (_index + 1);				\
++			HANDLE_PTR (_objptr, (obj));		\
++			_objptr ++;							\
++			} \
++		while (_bmap) { \
++			int _index = __builtin_ctz (_bmap);		\
++			_objptr += _index; \
++			_bmap >>= (_index + 1);				\
++			HANDLE_PTR (_objptr, (obj));		\
++			_objptr ++;							\
++		}										\
++	} while (0)
++#elif defined(__GNUC__) && SIZEOF_VOID_P==8
++/* Same as above, but use _builtin_ctzl () */
+ #define OBJ_BITMAP_FOREACH_PTR(desc,obj)       do {    \
+ 		/* there are pointers */        \
+ 		void **_objptr = (void**)(obj); \
+ 		gsize _bmap = (desc) >> 16;     \
+ 		_objptr += OBJECT_HEADER_WORDS; \
+ 		{ \
+-			int _index = __builtin_ctz (_bmap); \
++			int _index = __builtin_ctzl (_bmap);		\
+ 			_objptr += _index; \
+ 			_bmap >>= (_index + 1);				\
+ 			HANDLE_PTR (_objptr, (obj));		\
+ 			_objptr ++;							\
+ 			} \
+ 		while (_bmap) { \
+-			int _index = __builtin_ctz (_bmap); \
++			int _index = __builtin_ctzl (_bmap);		\
+ 			_objptr += _index; \
+ 			_bmap >>= (_index + 1);				\
+ 			HANDLE_PTR (_objptr, (obj));		\
+diff --git a/mono/tests/sgen-descriptors.cs b/mono/tests/sgen-descriptors.cs
+index ae00084..246e5aa 100644
+--- a/mono/tests/sgen-descriptors.cs
++++ b/mono/tests/sgen-descriptors.cs
+@@ -1,4 +1,5 @@
+ using System;
++using System.Runtime.InteropServices;
+ 
+ public struct SmallMixed
+ {
+@@ -47,6 +48,13 @@ public class HugePtrFree {
+ 	public LargeStruct2 c;
+ }
+ 
++[StructLayout (LayoutKind.Sequential)]
++public class Non32bitBitmap {
++	public object o;
++	public long i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, i21, i22, i23, i24, i25, i26, i27, i28, i29, i30, i31, i32, i33, i34, i35;
++	public object o2;
++}
++
+ /*
+ This is a stress test for descriptors.
+ */
+@@ -54,10 +62,10 @@ class Driver {
+ 	static char[] FOO = new char[] { 'f', 'o', 'b' };
+ 
+ 	static void Fill (int cycles) {
+-		object[] root = new object [12];
++		object[] root = new object [13];
+ 		object[] current = root;
+ 		for (int i = 0; i < cycles; ++i) {
+-			current [0] = new object [12];
++			current [0] = new object [13];
+ 			current [1] = new int [6];
+ 			current [2] = new int [2,3];
+ 			current [3] = new string (FOO);
+@@ -72,6 +80,9 @@ class Driver {
+ 				current [10] = new HugePtrFree ();
+ 			if ((i %  10000) == 0)
+ 				current [11] = new LargeStruct2 [1];
++
++			/* Test for 64 bit bitmap descriptors (#14834) */
++			current [12] = new Non32bitBitmap () { o = new object (), i32 = 1, i33 = 1, i34 = 1, i35 = 1, o2 = new object () };
+ 	
+ 			current = (object[])current [0];
+ 		}
+-- 
+1.8.4
+



More information about the arch-commits mailing list