<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1369</id>
	<title>Nabble - Mono - Dev</title>
	<updated>2009-12-04T13:54:58Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Mono---Dev-f1369.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Mono---Dev-f1369.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26649819</id>
	<title>Re: build fails on genmdesc</title>
	<published>2009-12-04T13:54:58Z</published>
	<updated>2009-12-04T13:54:58Z</updated>
	<author>
		<name>Thad</name>
	</author>
	<content type="html">Gerard,
&lt;br&gt;Not sure that this will help, but I've built Mono for a couple of
&lt;br&gt;different ARM processors using Scratchbox2 without too much pain. Below
&lt;br&gt;I've attached the build steps from one of the more recent ones. You may
&lt;br&gt;not need the CFLAGS=&amp;quot;-DARM_FPU_FPA&amp;quot; directive. 
&lt;br&gt;&lt;br&gt;-Thad
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;--------------------------------------
&lt;br&gt;# Building Mono for PXA-255 with Scratchbox 2
&lt;br&gt;OUT_DIR=/your/output/directory
&lt;br&gt;export OUT_DIR
&lt;br&gt;&lt;br&gt;### Mono (Host)
&lt;br&gt;./configure --prefix=${OUT_DIR}
&lt;br&gt;make
&lt;br&gt;make install
&lt;br&gt;&lt;br&gt;#################################################
&lt;br&gt;# Change to scratchbox 2 shell
&lt;br&gt;&lt;br&gt;#################################################
&lt;br&gt;# Core Mono Dependencies
&lt;br&gt;&lt;br&gt;### Glib
&lt;br&gt;cd glib-2.20.5
&lt;br&gt;./configure --prefix=${OUT_DIR} &amp;&amp; make &amp;&amp; make install
&lt;br&gt;&lt;br&gt;### Pkgconfig
&lt;br&gt;cd pkg-config-0.23
&lt;br&gt;./configure --prefix=${OUT_DIR} &amp;&amp; make &amp;&amp; make install
&lt;br&gt;&lt;br&gt;#################################################
&lt;br&gt;# Mono (Embedded)
&lt;br&gt;LD_RUN_PATH=${OUT_DIR}/lib:LD_RUN_PATH \
&lt;br&gt;PKG_CONFIG=${OUT_DIR}/bin/pkg-config \
&lt;br&gt;PKG_CONFIG_PATH=${OUT_DIR}/lib/pkgconfig \
&lt;br&gt;./configure \
&lt;br&gt;--prefix=${OUT_DIR} \
&lt;br&gt;--with-crosspkgdir=${OUT_DIR}/lib/pkgconfig \
&lt;br&gt;--disable-mcs-build \
&lt;br&gt;--with-moonlight=no \
&lt;br&gt;--with-mcs-docs=no \
&lt;br&gt;CFLAGS=&amp;quot;-DARM_FPU_FPA&amp;quot;
&lt;br&gt;make
&lt;br&gt;&lt;br&gt;make install
&lt;br&gt;&lt;br&gt;#
&lt;br&gt;# On one of the platforms it gave a complaint about ULLONG_MAX which I
&lt;br&gt;believe had 
&lt;br&gt;# a fairly easy workaround.
&lt;br&gt;#
&lt;br&gt;# Note: as of version 2.4.2 building docs from the embedded build
&lt;br&gt;failed. I removed the 
&lt;br&gt;# docs directory from the subdirectory list in the makefile
&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26649819&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/build-fails-on-genmdesc-tp26648216p26649819.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26648538</id>
	<title>Re: build fails on genmdesc</title>
	<published>2009-12-04T12:10:42Z</published>
	<updated>2009-12-04T12:10:42Z</updated>
	<author>
		<name>vargaz</name>
	</author>
	<content type="html">Hi,&lt;br&gt;&lt;br&gt;   The mono build runs executables compiled during the build, like genmdesc, so I don&amp;#39;t&lt;br&gt;think it will run in scratchbox.&lt;br&gt;&lt;br&gt;                    Zoltan&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Dec 4, 2009 at 8:49 PM, Gerard Braad &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26648538&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;me@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Currently trying to get Mono packaged for Maemo 5 (and the N900).&lt;br&gt;
Unfortunately I encounter some issues.&lt;br&gt;
&lt;br&gt;
I try to build Mono 2.4.2.3 in scratchbox using the host-gcc, but the&lt;br&gt;
build fails on ./genmdesc ./&lt;a href=&quot;http://cpu-x86.md&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;cpu-x86.md&lt;/a&gt; cpu-x86.h x86_desc&lt;br&gt;
with a make: *** [cpu-x86.h] Floating point exception (core dumped)&lt;br&gt;
&lt;br&gt;
The stack trace does not show more than:&lt;br&gt;
Program terminated with signal 8, Arithmetic exception.&lt;br&gt;
#0  0xb7f69867 in ?? ()&lt;br&gt;
&lt;br&gt;
It is probably related to scratchbox. any idea what this could be?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Gerard&lt;br&gt;
_______________________________________________&lt;br&gt;
Mono-devel-list mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26648538&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26648538&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/build-fails-on-genmdesc-tp26648216p26648538.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26648216</id>
	<title>build fails on genmdesc</title>
	<published>2009-12-04T11:49:50Z</published>
	<updated>2009-12-04T11:49:50Z</updated>
	<author>
		<name>gbraad</name>
	</author>
	<content type="html">Currently trying to get Mono packaged for Maemo 5 (and the N900).
&lt;br&gt;Unfortunately I encounter some issues.
&lt;br&gt;&lt;br&gt;I try to build Mono 2.4.2.3 in scratchbox using the host-gcc, but the
&lt;br&gt;build fails on ./genmdesc ./cpu-x86.md cpu-x86.h x86_desc
&lt;br&gt;with a make: *** [cpu-x86.h] Floating point exception (core dumped)
&lt;br&gt;&lt;br&gt;The stack trace does not show more than:
&lt;br&gt;Program terminated with signal 8, Arithmetic exception.
&lt;br&gt;#0 &amp;nbsp;0xb7f69867 in ?? ()
&lt;br&gt;&lt;br&gt;It is probably related to scratchbox. any idea what this could be?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Gerard
&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26648216&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/build-fails-on-genmdesc-tp26648216p26648216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644161</id>
	<title>Re: Getting rid of String.InternalSetLength</title>
	<published>2009-12-04T07:29:01Z</published>
	<updated>2009-12-04T07:29:01Z</updated>
	<author>
		<name>Rafael Teixeira</name>
	</author>
	<content type="html">One such alternative is to be more similar to ArrayLists that have
&lt;br&gt;both a Capacity and a Length attributes, but that is surely overkill
&lt;br&gt;as Strings are immutable after creation, so I think StringBuilder is
&lt;br&gt;the one messing with the immutability of strings and should be
&lt;br&gt;corrected as you propose
&lt;br&gt;&lt;br&gt;Fun,
&lt;br&gt;&lt;br&gt;Rafael &amp;quot;Monoman&amp;quot; Teixeira
&lt;br&gt;---------------------------------------
&lt;br&gt;&amp;quot;To be creative means to be in love with life. You can be creative
&lt;br&gt;only if you love life enough that you want to enhance its beauty, you
&lt;br&gt;want to bring a little more music to it, a little more poetry to it, a
&lt;br&gt;little more dance to it.&amp;quot;
&lt;br&gt;Osho
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, Dec 3, 2009 at 4:02 PM, Mark Probst &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644161&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mark.probst@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; SGen, our new garbage collector, doesn't explicitly store an object's
&lt;br&gt;&amp;gt; size but determines it via the object's vtable and, in the case of
&lt;br&gt;&amp;gt; arrays and strings, via the length field.  String.InternalSetLength
&lt;br&gt;&amp;gt; changes that length field, which means that, from SGen's view, the
&lt;br&gt;&amp;gt; string's size changes.  That's a problem because depending on an
&lt;br&gt;&amp;gt; object's size it is either stored in a regular heap section or, if it
&lt;br&gt;&amp;gt; is larger than a certain threshold, in the large object section (LOS).
&lt;br&gt;&amp;gt;  SGen depends on being able to distinguish between the two, so it must
&lt;br&gt;&amp;gt; not happen that an object changes size, i.e. we have to get rid of
&lt;br&gt;&amp;gt; String.InternalSetLength, which is used by StringBuilder.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The attached patch fixes this problem, but of course it has to do more
&lt;br&gt;&amp;gt; copying.  Does anybody object to this?  Any alternatives?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644161&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644161&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Getting-rid-of-String.InternalSetLength-tp26630358p26644161.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26644146</id>
	<title>Re: Getting rid of String.InternalSetLength</title>
	<published>2009-12-04T07:28:02Z</published>
	<updated>2009-12-04T07:28:02Z</updated>
	<author>
		<name>Paolo Molaro-2</name>
	</author>
	<content type="html">On 12/03/09 Mark Probst wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; SGen, our new garbage collector, doesn't explicitly store an object's
&lt;br&gt;&amp;gt; size but determines it via the object's vtable and, in the case of
&lt;br&gt;&amp;gt; arrays and strings, via the length field. &amp;nbsp;String.InternalSetLength
&lt;br&gt;&amp;gt; changes that length field, which means that, from SGen's view, the
&lt;br&gt;&amp;gt; string's size changes. &amp;nbsp;That's a problem because depending on an
&lt;br&gt;&amp;gt; object's size it is either stored in a regular heap section or, if it
&lt;br&gt;&amp;gt; is larger than a certain threshold, in the large object section (LOS).
&lt;br&gt;&amp;gt; &amp;nbsp;SGen depends on being able to distinguish between the two, so it must
&lt;br&gt;&amp;gt; not happen that an object changes size, i.e. we have to get rid of
&lt;br&gt;&amp;gt; String.InternalSetLength, which is used by StringBuilder.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The attached patch fixes this problem, but of course it has to do more
&lt;br&gt;&amp;gt; copying. &amp;nbsp;Does anybody object to this? &amp;nbsp;Any alternatives?
&lt;/div&gt;&lt;br&gt;Good catch for this issue.
&lt;br&gt;I think we should keep the optimization. To fix it it should be enough
&lt;br&gt;to add a check for the problematic case: if setting the new length would
&lt;br&gt;change the storage space, the copy codepath is taken instead.
&lt;br&gt;&lt;br&gt;Let's have this in String.cs:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static readonly int LOS_length = GetLOSLength (); // icall optimized by the jit to a constant.
&lt;br&gt;&lt;br&gt;and then you can have:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; --- System.Text/StringBuilder.cs	(revision 147553)
&lt;br&gt;&amp;gt; +++ System.Text/StringBuilder.cs	(working copy)
&lt;br&gt;&amp;gt; @@ -207,8 +207,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;			if (null != _cached_str)
&lt;br&gt;&amp;gt; &amp;nbsp;				return _cached_str;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; -			// If we only have a half-full buffer we return a new string.
&lt;br&gt;&amp;gt; -			if (_length &amp;lt; (_str.Length &amp;gt;&amp;gt; 1)) 
&lt;br&gt;&amp;gt; +			if (_length &amp;lt; (_str.Length &amp;gt;&amp;gt; 1) || (_str.Length &amp;gt;= string.LOS_length &amp;&amp; _length &amp;lt; string.LOS_length))
&lt;br&gt;&amp;gt; &amp;nbsp;			{
&lt;br&gt;&amp;gt; &amp;nbsp;				// use String.SubstringUnchecked instead of String.Substring
&lt;br&gt;&amp;gt; &amp;nbsp;				// as the former is guaranteed to create a new string object
&lt;/div&gt;&lt;br&gt;lupus
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;-----------------------------------------------------------------
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644146&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lupus@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; debian/rules
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644146&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;lupus@...&lt;/a&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Monkeys do it better
&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26644146&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Getting-rid-of-String.InternalSetLength-tp26630358p26644146.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26634393</id>
	<title>Re: gmcs compiler error</title>
	<published>2009-12-03T14:26:25Z</published>
	<updated>2009-12-03T14:26:25Z</updated>
	<author>
		<name>Marek Safar</name>
	</author>
	<content type="html">Hi Robert,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I’ve tried to compile my code using gmcs and I get the following epic 
&lt;br&gt;&amp;gt; stack trace failure, but I don’t really know why I get this error or 
&lt;br&gt;&amp;gt; how I’d go about resolving it? Can anyone make sense of this for me?
&lt;br&gt;&amp;gt;
&lt;br&gt;It makes sense to me. My guess is that the issue has already been 
&lt;br&gt;addressed in the recent versions. If you are using a version older than 
&lt;br&gt;2.4 upgrade your Mono otherwise please fill Mono bug report.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Marek
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Exception caught by the compiler while emitting:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Block that caused the problem begin at: .\HashTable.cs(348,9):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; System.NullReferenceException: Object reference not set to an instance 
&lt;br&gt;&amp;gt; of an object
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Internal compiler error at .\HashTable.cs(347,49):: exception caught 
&lt;br&gt;&amp;gt; while emitting MethodBuilder 
&lt;br&gt;&amp;gt; [HashTable`2::System.Collections.Generic.IEnumerable&amp;lt;TValue&amp;gt;.GetEnumerator]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unhandled Exception: System.NullReferenceException: Object reference 
&lt;br&gt;&amp;gt; not set to an instance of an object
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.AnonymousMethodBody.DoCreateMethodHost 
&lt;br&gt;&amp;gt; (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.AnonymousMethodBody.Emit (Mono.CSharp.EmitContext ec) 
&lt;br&gt;&amp;gt; [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Argument.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.EmitArguments (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; System.Collections.ArrayList arguments, Boolean dup_args, 
&lt;br&gt;&amp;gt; Mono.CSharp.LocalTemporary this_arg) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; Boolean is_base, Mono.CSharp.Expression instance_expr, 
&lt;br&gt;&amp;gt; System.Reflection.MethodBase method, System.Collections.ArrayList 
&lt;br&gt;&amp;gt; Arguments, Location loc, Boolean dup_args, Boolean omit_args) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; Boolean is_base, Mono.CSharp.Expression instance_expr, 
&lt;br&gt;&amp;gt; System.Reflection.MethodBase method, System.Collections.ArrayList 
&lt;br&gt;&amp;gt; Arguments, Location loc) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.MethodGroupExpr.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; System.Collections.ArrayList arguments) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.ExtensionMethodGroupExpr.EmitCall 
&lt;br&gt;&amp;gt; (Mono.CSharp.EmitContext ec, System.Collections.ArrayList arguments) 
&lt;br&gt;&amp;gt; [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; Boolean is_base, Mono.CSharp.Expression instance_expr, 
&lt;br&gt;&amp;gt; System.Reflection.MethodBase method, System.Collections.ArrayList 
&lt;br&gt;&amp;gt; Arguments, Location loc, Boolean dup_args, Boolean omit_args) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; Boolean is_base, Mono.CSharp.Expression instance_expr, 
&lt;br&gt;&amp;gt; System.Reflection.MethodBase method, System.Collections.ArrayList 
&lt;br&gt;&amp;gt; Arguments, Location loc) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.MethodGroupExpr.EmitCall (Mono.CSharp.EmitContext ec, 
&lt;br&gt;&amp;gt; System.Collections.ArrayList arguments) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Invocation.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Return.DoEmit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.EmitContext.EmitResolvedTopBlock 
&lt;br&gt;&amp;gt; (Mono.CSharp.ToplevelBlock block, Boolean unreachable) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; at Mono.CSharp.EmitContext.EmitTopBlock (IMethodData md, 
&lt;br&gt;&amp;gt; Mono.CSharp.ToplevelBlock block) [0x00000]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My only thought is that the class in question defines itself as being 
&lt;br&gt;&amp;gt; IEnumerable over two different types and that since this is the second 
&lt;br&gt;&amp;gt; of the two definitions of GetEnumerator the compiler fails? Is this 
&lt;br&gt;&amp;gt; something that I can’t do under Mono?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Rob Vesse
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26634393&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26634393&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmcs-compiler-error-tp26633067p26634393.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26633474</id>
	<title>Re: Need help building Mono under Snow Leopard</title>
	<published>2009-12-03T13:27:37Z</published>
	<updated>2009-12-03T13:27:37Z</updated>
	<author>
		<name>Koushik K. Dutta</name>
	</author>
	<content type="html">You can also autogen/configure with the --with-glib=embedded to get around that depenedency. I'm compiling on Snow Leopard using that.
&lt;br&gt;&lt;br&gt;Koush
&lt;br&gt;&lt;br&gt;On Dec 3, 2009, at 1:11 PM, ptr2009 wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; hey all
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am trying to build mono under Snow Leopard. I have the the 64bit Xcode
&lt;br&gt;&amp;gt; 3.2.1 installed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is what I have tried.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Followed instructions from &lt;a href=&quot;http://www.mono-project.com/Compiling_Mono_on_OSX&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mono-project.com/Compiling_Mono_on_OSX&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What I had to differently from the page was
&lt;br&gt;&amp;gt; 1) In building glib I cd'ed to glib directory instead of pkg-config. I am
&lt;br&gt;&amp;gt; assuming it was a typo on the website
&lt;br&gt;&amp;gt; 2) glib complained about libiconv so I downloaded and compiled
&lt;br&gt;&amp;gt; libiconv-1.13.1 and installed under MONO_PREFIX directory.
&lt;br&gt;&amp;gt; 3) &amp;nbsp;I added these three extra variables to my setup-mono script as per some
&lt;br&gt;&amp;gt; previous posts in this forum
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;CFLAGS=&amp;quot;-arch i386 -D_XOPEN_SOURCE&amp;quot; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;LDFLAGS=&amp;quot;-arch i386&amp;quot; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;CXXFLAGS=$CFLAGS
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have been able to successfully build all the necessary dependencies to
&lt;br&gt;&amp;gt; build mono.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Afters I tried building the mono 2.4.2.3 tar source but I get the following
&lt;br&gt;&amp;gt; error
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ----------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; UNMAP -DGetCurrentProcess=MonoGetCurrentProcess
&lt;br&gt;&amp;gt; -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent -g -MT
&lt;br&gt;&amp;gt; allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c &amp;nbsp;-fno-common -DPIC
&lt;br&gt;&amp;gt; -o .libs/allchblk.o
&lt;br&gt;&amp;gt; In file included from ./include/private/gc_priv.h:66,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from allchblk.c:19:
&lt;br&gt;&amp;gt; ./include/private/gcconfig.h:499: error: expected identifier or ‘(’ before
&lt;br&gt;&amp;gt; ‘--’ token
&lt;br&gt;&amp;gt; make[3]: *** [allchblk.lo] Error 1
&lt;br&gt;&amp;gt; make[2]: *** [all-recursive] Error 1
&lt;br&gt;&amp;gt; make[1]: *** [all-recursive] Error 1
&lt;br&gt;&amp;gt; make: *** [all] Error 2
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have also tried the instructions on Compiling_Mono_FROM_SVN. But I get the
&lt;br&gt;&amp;gt; following error
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -------------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; rm -f es.gmo &amp;&amp; /Users/ptrajkumar/monobin/bin/msgfmt -c --statistics -o
&lt;br&gt;&amp;gt; es.gmo es.po
&lt;br&gt;&amp;gt; dyld: lazy symbol binding failed: Symbol not found: _iconv_open
&lt;br&gt;&amp;gt; &amp;nbsp;Referenced from: /Users/ptrajkumar/monobin/lib/libgettextsrc-0.17.dylib
&lt;br&gt;&amp;gt; &amp;nbsp;Expected in: flat namespace
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; dyld: Symbol not found: _iconv_open
&lt;br&gt;&amp;gt; &amp;nbsp;Referenced from: /Users/ptrajkumar/monobin/lib/libgettextsrc-0.17.dylib
&lt;br&gt;&amp;gt; &amp;nbsp;Expected in: flat namespace
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; /bin/sh: line 1: 14613 Trace/BPT trap &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; /Users/ptrajkumar/monobin/bin/msgfmt -c --statistics -o t-${lang}.gmo
&lt;br&gt;&amp;gt; ${lang}.po
&lt;br&gt;&amp;gt; make[4]: *** [es.gmo] Error 133
&lt;br&gt;&amp;gt; make[3]: *** [stamp-po] Error 2
&lt;br&gt;&amp;gt; make[2]: *** [all-recursive] Error 1
&lt;br&gt;&amp;gt; make[1]: *** [all-recursive] Error 1
&lt;br&gt;&amp;gt; make: *** [all] Error 2
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -------------------------------------------------
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Has anybody else tried building mono under Snow Leopard ? If so, could you
&lt;br&gt;&amp;gt; please tell me what I am doing wrong ?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks
&lt;br&gt;&amp;gt; Raj
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/Need-help-building-Mono-under-Snow-Leopard-tp26632481p26632481.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Need-help-building-Mono-under-Snow-Leopard-tp26632481p26632481.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Mono - Dev mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633474&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633474&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Need-help-building-Mono-under-Snow-Leopard-tp26632481p26633474.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26633164</id>
	<title>Re: Fix for ** ERROR **: Opcode 'loadi8_memindex' missing for PPC64</title>
	<published>2009-12-03T13:03:05Z</published>
	<updated>2009-12-03T13:03:05Z</updated>
	<author>
		<name>vargaz</name>
	</author>
	<content type="html">Committed, thanks.&lt;br&gt;&lt;br&gt;           Zoltan&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Dec 3, 2009 at 9:29 PM, Steven Munroe &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633164&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;munroesj@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;The current svn trunc fails with the error:&lt;br&gt;
&lt;br&gt;
** ERROR **: Opcode &amp;#39;loadi8_memindex&amp;#39; missing from machine description&lt;br&gt;
file.&lt;br&gt;
&lt;br&gt;
The attached patch fixes this.&lt;br&gt;
&lt;br&gt;_______________________________________________&lt;br&gt;
Mono-devel-list mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633164&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633164&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix-for-**-ERROR-**%3A-Opcode-%27loadi8_memindex%27-missing-for-PPC64-tp26632580p26633164.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26633067</id>
	<title>gmcs compiler error</title>
	<published>2009-12-03T12:56:42Z</published>
	<updated>2009-12-03T12:56:42Z</updated>
	<author>
		<name>RobVesse</name>
	</author>
	<content type="html">&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 11 (filtered medium)&quot;&gt;


&lt;/head&gt;

&lt;body lang=EN-GB link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Hi&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I&amp;#8217;ve tried to compile my code using gmcs and I get the
following epic stack trace failure, but I don&amp;#8217;t really know why I get
this error or how I&amp;#8217;d go about resolving it?&amp;nbsp; Can anyone make sense
of this for me?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;Exception caught by the
compiler while emitting:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp; Block that
caused the problem begin at: .\HashTable.cs(348,9):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;System.NullReferenceException:
Object reference not set to an instance of an object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;Internal compiler error at
.\HashTable.cs(347,49):: exception caught while emitting MethodBuilder
[HashTable`2::System.Collections.Generic.IEnumerable&amp;lt;TValue&amp;gt;.GetEnumerator]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;Unhandled Exception:
System.NullReferenceException: Object reference not set to an instance of an
object&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.AnonymousMethodBody.DoCreateMethodHost (Mono.CSharp.EmitContext ec)
[0x00000]&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.AnonymousMethodBody.Emit (Mono.CSharp.EmitContext ec)
[0x00000]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.Argument.Emit
(Mono.CSharp.EmitContext ec) [0x00000]&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.EmitArguments (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList arguments, Boolean dup_args,
Mono.CSharp.LocalTemporary this_arg) [0x00000]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, Boolean is_base,
Mono.CSharp.Expression instance_expr, System.Reflection.MethodBase method,
System.Collections.ArrayList Arguments, Location loc, Boolean dup_args, Boolean
omit_args) [0x00000] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, Boolean is_base,
Mono.CSharp.Expression instance_expr, System.Reflection.MethodBase method,
System.Collections.ArrayList Arguments, Location loc) [0x00000] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.MethodGroupExpr.EmitCall (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList arguments) [0x00000]&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.ExtensionMethodGroupExpr.EmitCall
(Mono.CSharp.EmitContext ec, System.Collections.ArrayList arguments) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.Invocation.Emit
(Mono.CSharp.EmitContext ec) [0x00000] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, Boolean is_base,
Mono.CSharp.Expression instance_expr, System.Reflection.MethodBase method,
System.Collections.ArrayList Arguments, Location loc, Boolean dup_args, Boolean
omit_args) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.EmitCall (Mono.CSharp.EmitContext ec, Boolean is_base,
Mono.CSharp.Expression instance_expr, System.Reflection.MethodBase method,
System.Collections.ArrayList Arguments, Location loc) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.MethodGroupExpr.EmitCall (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList arguments) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Invocation.Emit (Mono.CSharp.EmitContext ec) [0x00000] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.Return.DoEmit
(Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.Block.DoEmit
(Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at Mono.CSharp.Block.Emit
(Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.ExplicitBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.ToplevelBlock.Emit (Mono.CSharp.EmitContext ec) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.EmitContext.EmitResolvedTopBlock (Mono.CSharp.ToplevelBlock block,
Boolean unreachable) [0x00000]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;at
Mono.CSharp.EmitContext.EmitTopBlock (IMethodData md, Mono.CSharp.ToplevelBlock
block) [0x00000] &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;My only thought is that the class in question defines itself
as being IEnumerable over two different types and that since this is the second
of the two definitions of GetEnumerator the compiler fails?&amp;nbsp; Is this
something that I can&amp;#8217;t do under Mono?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Thanks,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Rob Vesse&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26633067&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gmcs-compiler-error-tp26633067p26633067.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26632580</id>
	<title>Fix for ** ERROR **: Opcode 'loadi8_memindex' missing for PPC64</title>
	<published>2009-12-03T12:23:48Z</published>
	<updated>2009-12-03T12:23:48Z</updated>
	<author>
		<name>Steven Munroe-2</name>
	</author>
	<content type="html">The current svn trunc fails with the error:
&lt;br&gt;&lt;br&gt;** ERROR **: Opcode 'loadi8_memindex' missing from machine description
&lt;br&gt;file.
&lt;br&gt;&lt;br&gt;The attached patch fixes this.
&lt;br&gt;&lt;br /&gt;2009-01-24 &amp;nbsp;Steven Munroe &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26632580&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;munroesj@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;This patch is contributed under the terms of the MIT/X11 license
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * cpu-ppc64.md (load_memindex): Add loadi8_memindex.
&lt;br&gt;&lt;br&gt;&lt;br&gt;diff -urN mono-svn-20091202/mono/mono/mini/cpu-ppc64.md mono-svn64/mono/mono/mini/cpu-ppc64.md
&lt;br&gt;--- mono-svn-20091202/mono/mono/mini/cpu-ppc64.md	2009-12-02 17:53:00.000000000 -0600
&lt;br&gt;+++ mono-svn64/mono/mono/mini/cpu-ppc64.md	2009-12-03 11:09:24.000000000 -0600
&lt;br&gt;@@ -117,6 +117,7 @@
&lt;br&gt;&amp;nbsp;loadu2_memindex: dest:i src1:b src2:i len:4
&lt;br&gt;&amp;nbsp;loadi4_memindex: dest:i src1:b src2:i len:4
&lt;br&gt;&amp;nbsp;loadu4_memindex: dest:i src1:b src2:i len:4
&lt;br&gt;+loadi8_memindex: dest:i src1:b src2:i len:4
&lt;br&gt;&amp;nbsp;loadr4_memindex: dest:f src1:b src2:i len:4
&lt;br&gt;&amp;nbsp;loadr8_memindex: dest:f src1:b src2:i len:4
&lt;br&gt;&amp;nbsp;store_memindex: dest:b src1:i src2:i len:4
&lt;br&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26632580&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fix-for-**-ERROR-**%3A-Opcode-%27loadi8_memindex%27-missing-for-PPC64-tp26632580p26632580.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26632481</id>
	<title>Need help building Mono under Snow Leopard</title>
	<published>2009-12-03T12:16:22Z</published>
	<updated>2009-12-03T12:16:22Z</updated>
	<author>
		<name>ptr2009</name>
	</author>
	<content type="html">hey all
&lt;br&gt;&lt;br&gt;&amp;nbsp;I am trying to build mono under Snow Leopard. I have the the 64bit Xcode 3.2.1 installed.
&lt;br&gt;&lt;br&gt;Here is what I have tried.
&lt;br&gt;&lt;br&gt;Followed instructions from &lt;a href=&quot;http://www.mono-project.com/Compiling_Mono_on_OSX&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mono-project.com/Compiling_Mono_on_OSX&lt;/a&gt;&lt;br&gt;&lt;br&gt;What I had to differently from the page was
&lt;br&gt;1) In building glib I cd'ed to glib directory instead of pkg-config. I am assuming it was a typo on the website
&lt;br&gt;2) glib complained about libiconv so I downloaded and compiled libiconv-1.13.1 and installed under MONO_PREFIX directory.
&lt;br&gt;3) &amp;nbsp;I added these three extra variables to my setup-mono script as per some previous posts in this forum
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CFLAGS=&amp;quot;-arch i386 -D_XOPEN_SOURCE&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LDFLAGS=&amp;quot;-arch i386&amp;quot; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; CXXFLAGS=$CFLAGS
&lt;br&gt;&lt;br&gt;I have been able to successfully build all the necessary dependencies to build mono.
&lt;br&gt;&lt;br&gt;Afters I tried building the mono 2.4.2.3 tar source but I get the following error
&lt;br&gt;&lt;br&gt;----------------------------------------------
&lt;br&gt;&lt;br&gt;UNMAP -DGetCurrentProcess=MonoGetCurrentProcess -DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent -g -MT allchblk.lo -MD -MP -MF .deps/allchblk.Tpo -c allchblk.c &amp;nbsp;-fno-common -DPIC -o .libs/allchblk.o
&lt;br&gt;In file included from ./include/private/gc_priv.h:66,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;from allchblk.c:19:
&lt;br&gt;./include/private/gcconfig.h:499: error: expected identifier or ‘(’ before ‘--’ token
&lt;br&gt;make[3]: *** [allchblk.lo] Error 1
&lt;br&gt;make[2]: *** [all-recursive] Error 1
&lt;br&gt;make[1]: *** [all-recursive] Error 1
&lt;br&gt;make: *** [all] Error 2
&lt;br&gt;&lt;br&gt;------------------------------------------------
&lt;br&gt;&lt;br&gt;I have also tried the instructions on Compiling_Mono_FROM_SVN. But I get the following error
&lt;br&gt;&lt;br&gt;-------------------------------------------------
&lt;br&gt;&lt;br&gt;rm -f es.gmo &amp;&amp; /Users/ptrajkumar/monobin/bin/msgfmt -c --statistics -o es.gmo es.po
&lt;br&gt;dyld: lazy symbol binding failed: Symbol not found: _iconv_open
&lt;br&gt;&amp;nbsp; Referenced from: /Users/ptrajkumar/monobin/lib/libgettextsrc-0.17.dylib
&lt;br&gt;&amp;nbsp; Expected in: flat namespace
&lt;br&gt;&lt;br&gt;dyld: Symbol not found: _iconv_open
&lt;br&gt;&amp;nbsp; Referenced from: /Users/ptrajkumar/monobin/lib/libgettextsrc-0.17.dylib
&lt;br&gt;&amp;nbsp; Expected in: flat namespace
&lt;br&gt;&lt;br&gt;/bin/sh: line 1: 14613 Trace/BPT trap &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/Users/ptrajkumar/monobin/bin/msgfmt -c --statistics -o t-${lang}.gmo ${lang}.po
&lt;br&gt;make[4]: *** [es.gmo] Error 133
&lt;br&gt;make[3]: *** [stamp-po] Error 2
&lt;br&gt;make[2]: *** [all-recursive] Error 1
&lt;br&gt;make[1]: *** [all-recursive] Error 1
&lt;br&gt;make: *** [all] Error 2
&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------
&lt;br&gt;&lt;br&gt;&lt;br&gt;Has anybody else tried building mono under Snow Leopard ? If so, could you please tell me what I am doing wrong ?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Raj
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Need-help-building-Mono-under-Snow-Leopard-tp26632481p26632481.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26632300</id>
	<title>Re: [PATCH] Bind d(n)gettext in Mono.Unix.Catalog</title>
	<published>2009-12-03T12:02:04Z</published>
	<updated>2009-12-03T12:02:04Z</updated>
	<author>
		<name>Stephane Delcroix</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; After some thought, this patch isn't a good idea, as you're supposed to
&lt;br&gt;bindtextdomain() prior to d(n)gettext, and even if Catalog.Init () do
&lt;br&gt;the bindtextdomain(), it also does an extra textdomain() call which is
&lt;br&gt;unfortunate in this case.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; So, let's forget about this, we found a solution with lluis earlier
&lt;br&gt;today, reusing MA translation code.
&lt;br&gt;&lt;br&gt;S
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, 2009-12-03 at 13:09 -0500, Jonathan Pryor wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Thu, 2009-12-03 at 13:22 +0100, Stephane Delcroix wrote:
&lt;br&gt;&amp;gt; &amp;gt; Here's a patch for Mono.Unix that P/Invoke d(n)gettext in addition to
&lt;br&gt;&amp;gt; &amp;gt; (n)gettext. It's quite useful for writing libraries requiring
&lt;br&gt;&amp;gt; &amp;gt; translations (think of Mono.Addins.Gui), esp. since GNU-gettext doesn't
&lt;br&gt;&amp;gt; &amp;gt; support multiple domains.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; One problem: you're *removing*
&lt;br&gt;&amp;gt; Catalog.GetPluralString(string,string.int). &amp;nbsp;That's bad. :-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Also, for your new GetPluralString() method, instead of using
&lt;br&gt;&amp;gt; MarshalStrings() (with an _ignore argument) +
&lt;br&gt;&amp;gt; UnixMarshal.StringToHeap(), combine the two so that MarshalStrings()
&lt;br&gt;&amp;gt; isn't getting an _ignore argument.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; That aside, it looks good, though I do wonder if the overloading here is
&lt;br&gt;&amp;gt; a good idea.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Basically, we'll wind up with this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Catalog {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string domain, string s, string p, int n);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string domain, string
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Generally, when overloading a method the first arguments should have the
&lt;br&gt;&amp;gt; same meaning, and &amp;quot;optional&amp;quot; arguments should be last. &amp;nbsp;Thus:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Catalog { 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n, string domain);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s, string
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; domain);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;quot;Prior art,&amp;quot; as it were, is System.Diagnostics.Trace.WriteLine[0]:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Trace {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void WriteLine (string message);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void WriteLine (string message, string
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; category);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So I'm torn as to the &amp;quot;proper&amp;quot; thing to do here, as we have three
&lt;br&gt;&amp;gt; choices:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;1. Follow convention and make the 'domain' parameter last (above).
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;2. Break convention and make the 'domain' parameter first
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (original).
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;3. Use different method names, e.g. GetDomainString(),
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetPluralDomainString(), and keep 'domain' as the first
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parameter.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Of these choices, I'm inclined toward (3) or (1), but could be argued
&lt;br&gt;&amp;gt; either way.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thoughts?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;- Jon
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [0]
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.writeline.aspx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.writeline.aspx&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26632300&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Bind-d%28n%29gettext-in-Mono.Unix.Catalog-tp26625199p26632300.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26630476</id>
	<title>Re: [PATCH] Bind d(n)gettext in Mono.Unix.Catalog</title>
	<published>2009-12-03T10:09:30Z</published>
	<updated>2009-12-03T10:09:30Z</updated>
	<author>
		<name>Jonathan Pryor</name>
	</author>
	<content type="html">On Thu, 2009-12-03 at 13:22 +0100, Stephane Delcroix wrote:
&lt;br&gt;&amp;gt; Here's a patch for Mono.Unix that P/Invoke d(n)gettext in addition to
&lt;br&gt;&amp;gt; (n)gettext. It's quite useful for writing libraries requiring
&lt;br&gt;&amp;gt; translations (think of Mono.Addins.Gui), esp. since GNU-gettext doesn't
&lt;br&gt;&amp;gt; support multiple domains.
&lt;br&gt;&lt;br&gt;One problem: you're *removing*
&lt;br&gt;Catalog.GetPluralString(string,string.int). &amp;nbsp;That's bad. :-)
&lt;br&gt;&lt;br&gt;Also, for your new GetPluralString() method, instead of using
&lt;br&gt;MarshalStrings() (with an _ignore argument) +
&lt;br&gt;UnixMarshal.StringToHeap(), combine the two so that MarshalStrings()
&lt;br&gt;isn't getting an _ignore argument.
&lt;br&gt;&lt;br&gt;That aside, it looks good, though I do wonder if the overloading here is
&lt;br&gt;a good idea.
&lt;br&gt;&lt;br&gt;Basically, we'll wind up with this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Catalog {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string domain, string s, string p, int n);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string domain, string
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;Generally, when overloading a method the first arguments should have the
&lt;br&gt;same meaning, and &amp;quot;optional&amp;quot; arguments should be last. &amp;nbsp;Thus:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Catalog { 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetPluralString (string s, string p, int n, string domain);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static string GetString (string s, string
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; domain);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;quot;Prior art,&amp;quot; as it were, is System.Diagnostics.Trace.WriteLine[0]:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Trace {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void WriteLine (string message);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void WriteLine (string message, string
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; category);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;So I'm torn as to the &amp;quot;proper&amp;quot; thing to do here, as we have three
&lt;br&gt;choices:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1. Follow convention and make the 'domain' parameter last (above).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;2. Break convention and make the 'domain' parameter first
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (original).
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;3. Use different method names, e.g. GetDomainString(),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetPluralDomainString(), and keep 'domain' as the first
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parameter.
&lt;br&gt;&lt;br&gt;Of these choices, I'm inclined toward (3) or (1), but could be argued
&lt;br&gt;either way.
&lt;br&gt;&lt;br&gt;Thoughts?
&lt;br&gt;&lt;br&gt;&amp;nbsp;- Jon
&lt;br&gt;&lt;br&gt;[0]
&lt;br&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.writeline.aspx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.writeline.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26630476&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Bind-d%28n%29gettext-in-Mono.Unix.Catalog-tp26625199p26630476.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26630358</id>
	<title>Getting rid of String.InternalSetLength</title>
	<published>2009-12-03T10:02:31Z</published>
	<updated>2009-12-03T10:02:31Z</updated>
	<author>
		<name>Mark Probst</name>
	</author>
	<content type="html">SGen, our new garbage collector, doesn't explicitly store an object's
&lt;br&gt;size but determines it via the object's vtable and, in the case of
&lt;br&gt;arrays and strings, via the length field. &amp;nbsp;String.InternalSetLength
&lt;br&gt;changes that length field, which means that, from SGen's view, the
&lt;br&gt;string's size changes. &amp;nbsp;That's a problem because depending on an
&lt;br&gt;object's size it is either stored in a regular heap section or, if it
&lt;br&gt;is larger than a certain threshold, in the large object section (LOS).
&lt;br&gt;&amp;nbsp;SGen depends on being able to distinguish between the two, so it must
&lt;br&gt;not happen that an object changes size, i.e. we have to get rid of
&lt;br&gt;String.InternalSetLength, which is used by StringBuilder.
&lt;br&gt;&lt;br&gt;The attached patch fixes this problem, but of course it has to do more
&lt;br&gt;copying. &amp;nbsp;Does anybody object to this? &amp;nbsp;Any alternatives?
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[stringlength.diff]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: System/String.cs
&lt;br&gt;===================================================================
&lt;br&gt;--- System/String.cs	(revision 147553)
&lt;br&gt;+++ System/String.cs	(working copy)
&lt;br&gt;@@ -2479,25 +2479,6 @@
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-		internal unsafe void InternalSetLength (int newLength)
&lt;br&gt;-		{
&lt;br&gt;-			if (newLength &amp;gt; length)
&lt;br&gt;-				throw new ArgumentOutOfRangeException (&amp;quot;newLength&amp;quot;, &amp;quot;newLength as to be &amp;lt;= length&amp;quot;);
&lt;br&gt;-
&lt;br&gt;-			// zero terminate, we can pass string objects directly via pinvoke
&lt;br&gt;-			// we also zero the rest of the string, since the new GC needs to be
&lt;br&gt;-			// able to handle the changing size (it will skip the 0 bytes).
&lt;br&gt;-			fixed (char * pStr = &amp;start_char) {
&lt;br&gt;-				char *p = pStr + newLength;
&lt;br&gt;-				char *end = pStr + length;
&lt;br&gt;-				while (p &amp;lt; end) {
&lt;br&gt;-					p [0] = '\0';
&lt;br&gt;-					p++;
&lt;br&gt;-				}
&lt;br&gt;-			}
&lt;br&gt;-			length = newLength;
&lt;br&gt;-		}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;		[ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.MayFail)]
&lt;br&gt;&amp;nbsp;		// When modifying it, GetCaseInsensitiveHashCode() should be modified as well.
&lt;br&gt;&amp;nbsp;		public unsafe override int GetHashCode ()
&lt;br&gt;Index: System.Text/StringBuilder.cs
&lt;br&gt;===================================================================
&lt;br&gt;--- System.Text/StringBuilder.cs	(revision 147553)
&lt;br&gt;+++ System.Text/StringBuilder.cs	(working copy)
&lt;br&gt;@@ -207,8 +207,7 @@
&lt;br&gt;&amp;nbsp;			if (null != _cached_str)
&lt;br&gt;&amp;nbsp;				return _cached_str;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-			// If we only have a half-full buffer we return a new string.
&lt;br&gt;-			if (_length &amp;lt; (_str.Length &amp;gt;&amp;gt; 1)) 
&lt;br&gt;+			if (_length != _str.Length)
&lt;br&gt;&amp;nbsp;			{
&lt;br&gt;&amp;nbsp;				// use String.SubstringUnchecked instead of String.Substring
&lt;br&gt;&amp;nbsp;				// as the former is guaranteed to create a new string object
&lt;br&gt;@@ -217,7 +216,6 @@
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;			_cached_str = _str;
&lt;br&gt;-			_str.InternalSetLength(_length);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;			return _str;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26630358&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Getting-rid-of-String.InternalSetLength-tp26630358p26630358.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26629874</id>
	<title>Re: Understanding &amp; Resolving MoMA Issue Messages</title>
	<published>2009-12-03T09:31:14Z</published>
	<updated>2009-12-03T09:31:14Z</updated>
	<author>
		<name>Jonathan Pobst</name>
	</author>
	<content type="html">The issue is that the most recent MoMA definitions are for Mono 2.4. 
&lt;br&gt;This method was implemented in r128397 (March 2nd, 2009), so it is not 
&lt;br&gt;in Mono 2.4.
&lt;br&gt;&lt;br&gt;It is however in the later 2.4.x releases.
&lt;br&gt;&lt;br&gt;I was under the (obviously mistaken) impression that the public API 
&lt;br&gt;would not be changing in these minor bugfix releases. &amp;nbsp;I will release a 
&lt;br&gt;new set of MoMA definitions with the upcoming Mono 2.4.3.
&lt;br&gt;&lt;br&gt;Thanks for reporting this!
&lt;br&gt;Jonathan
&lt;br&gt;&lt;br&gt;&lt;br&gt;Miguel de Icaza wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Method missing from Mono - NameValueCollection HttpResponse.get_Headers ()
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This has to be a bug in Moma or somewhere else, because this method is
&lt;br&gt;&amp;gt; not only present in Mono, it is a fundamental part of ASP.NET, you
&lt;br&gt;&amp;gt; should not have to change any code that uses that at all.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We should not be flagging this method at all. &amp;nbsp; Do you have a test case
&lt;br&gt;&amp;gt; that we can look at, to double check?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629874&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629874&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26629874.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26629451</id>
	<title>Re: Understanding &amp; Resolving MoMA Issue Messages</title>
	<published>2009-12-03T09:04:28Z</published>
	<updated>2009-12-03T09:04:28Z</updated>
	<author>
		<name>Miguel de Icaza-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;gt; Method missing from Mono - NameValueCollection HttpResponse.get_Headers ()
&lt;br&gt;&lt;br&gt;This has to be a bug in Moma or somewhere else, because this method is
&lt;br&gt;not only present in Mono, it is a fundamental part of ASP.NET, you
&lt;br&gt;should not have to change any code that uses that at all.
&lt;br&gt;&lt;br&gt;We should not be flagging this method at all. &amp;nbsp; Do you have a test case
&lt;br&gt;that we can look at, to double check?
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26629451&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26629451.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26625199</id>
	<title>[PATCH] Bind d(n)gettext in Mono.Unix.Catalog</title>
	<published>2009-12-03T04:22:16Z</published>
	<updated>2009-12-03T04:22:16Z</updated>
	<author>
		<name>Stephane Delcroix</name>
	</author>
	<content type="html">Hey,
&lt;br&gt;&lt;br&gt;Here's a patch for Mono.Unix that P/Invoke d(n)gettext in addition to
&lt;br&gt;(n)gettext. It's quite useful for writing libraries requiring
&lt;br&gt;translations (think of Mono.Addins.Gui), esp. since GNU-gettext doesn't
&lt;br&gt;support multiple domains.
&lt;br&gt;&lt;br&gt;Any comment ?
&lt;br&gt;&lt;br&gt;Stephane
&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[dgettext.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;commit cb56e9c354235bc7226560b33b4f074d63a4dcb2
&lt;br&gt;Author: Stephane Delcroix &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625199&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: &amp;nbsp; Thu Dec 3 12:43:43 2009 +0100
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; 2009-12-3 &amp;nbsp;Stephane Delcroix &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625199&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	* Catalog.cs: P/Invoke d(n)gettext
&lt;br&gt;&lt;br&gt;diff --git a/class/Mono.Posix/Mono.Unix/Catalog.cs b/class/Mono.Posix/Mono.Unix/Catalog.cs
&lt;br&gt;index d835fec..c79d49b 100644
&lt;br&gt;--- a/class/Mono.Posix/Mono.Unix/Catalog.cs
&lt;br&gt;+++ b/class/Mono.Posix/Mono.Unix/Catalog.cs
&lt;br&gt;@@ -93,6 +93,9 @@ namespace Mono.Unix {
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;intl&amp;quot;)]
&lt;br&gt;&amp;nbsp;		static extern IntPtr gettext (IntPtr instring);
&lt;br&gt;+
&lt;br&gt;+		[DllImport(&amp;quot;intl&amp;quot;)]
&lt;br&gt;+		static extern IntPtr dgettext (IntPtr domain, IntPtr instring);
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;&amp;nbsp;		public static String GetString (String s)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;@@ -108,18 +111,39 @@ namespace Mono.Unix {
&lt;br&gt;&amp;nbsp;				UnixMarshal.FreeHeap (ints);
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;+		
&lt;br&gt;+		public static String GetString (String domain, String s)
&lt;br&gt;+		{
&lt;br&gt;+			IntPtr ints = UnixMarshal.StringToHeap (s);
&lt;br&gt;+			IntPtr dom = UnixMarshal.StringToHeap (domain);
&lt;br&gt;+			try {
&lt;br&gt;+				// (d)gettext(3) returns the input pointer if no translation is found
&lt;br&gt;+				IntPtr r = dgettext (dom, ints);
&lt;br&gt;+				if (r != ints)
&lt;br&gt;+					return UnixMarshal.PtrToStringUnix (r);
&lt;br&gt;+				return s;
&lt;br&gt;+			}
&lt;br&gt;+			finally {
&lt;br&gt;+				UnixMarshal.FreeHeap (dom);
&lt;br&gt;+				UnixMarshal.FreeHeap (ints);
&lt;br&gt;+			}
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;intl&amp;quot;)]
&lt;br&gt;&amp;nbsp;		static extern IntPtr ngettext (IntPtr singular, IntPtr plural, Int32 n);
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;-		public static String GetPluralString (String s, String p, Int32 n)
&lt;br&gt;+		[DllImport(&amp;quot;intl&amp;quot;)]
&lt;br&gt;+		static extern IntPtr dngettext (IntPtr domain, IntPtr singular, IntPtr plural, Int32 n);
&lt;br&gt;+		
&lt;br&gt;+		public static String GetPluralString (String domain, String s, String p, Int32 n)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;&amp;nbsp;			IntPtr ints, intp, _ignore;
&lt;br&gt;&amp;nbsp;			MarshalStrings (s, out ints, p, out intp, null, out _ignore);
&lt;br&gt;+			IntPtr dom = UnixMarshal.StringToHeap (domain);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;			try {
&lt;br&gt;-				// ngettext(3) returns an input pointer if no translation is found
&lt;br&gt;-				IntPtr r = ngettext (ints, intp, n);
&lt;br&gt;+				// (d)ngettext(3) returns an input pointer if no translation is found
&lt;br&gt;+				IntPtr r = dngettext (dom, ints, intp, n);
&lt;br&gt;&amp;nbsp;				if (r == ints)
&lt;br&gt;&amp;nbsp;					return s;
&lt;br&gt;&amp;nbsp;				if (r == intp)
&lt;br&gt;@@ -129,6 +153,7 @@ namespace Mono.Unix {
&lt;br&gt;&amp;nbsp;			finally {
&lt;br&gt;&amp;nbsp;				UnixMarshal.FreeHeap (ints);
&lt;br&gt;&amp;nbsp;				UnixMarshal.FreeHeap (intp);
&lt;br&gt;+				UnixMarshal.FreeHeap (dom);
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;diff --git a/class/Mono.Posix/Mono.Unix/ChangeLog b/class/Mono.Posix/Mono.Unix/ChangeLog
&lt;br&gt;index 3901ef4..463c07c 100644
&lt;br&gt;--- a/class/Mono.Posix/Mono.Unix/ChangeLog
&lt;br&gt;+++ b/class/Mono.Posix/Mono.Unix/ChangeLog
&lt;br&gt;@@ -1,3 +1,7 @@
&lt;br&gt;+2009-12-3 &amp;nbsp;Stephane Delcroix &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625199&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* Catalog.cs: P/Invoke d(n)gettext
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-03-23 &amp;nbsp;Jonathan Pryor &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625199&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jpryor@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	* UnixDriveInfo.cs: UnixDriveInfo.AvailableFreeSpace needs to return 
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625199&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Bind-d%28n%29gettext-in-Mono.Unix.Catalog-tp26625199p26625199.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26625005</id>
	<title>Re: DateTimeOffset Test and Patch</title>
	<published>2009-12-03T04:05:55Z</published>
	<updated>2009-12-03T04:05:55Z</updated>
	<author>
		<name>Stephane Delcroix</name>
	</author>
	<content type="html">Tom,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Your patch was breaking stuffs, but the reported issue was still valid.
&lt;br&gt;Here's the fix and tests I pushed a few minutes ago. it validates
&lt;br&gt;against .NET 3.5 too.
&lt;br&gt;&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;Stephane
&lt;br&gt;&lt;br&gt;On Wed, 2009-12-02 at 14:53 -0800, Tom Philpot wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Stephen,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Did this patch ever get committed?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Tom
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 11/26/09 5:23 AM, &amp;quot;Stephane Delcroix&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; On Wed, 2009-11-25 at 15:04 -0800, Tom Philpot wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; Here's a patch that resolves an issue of adding or
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subtracting time from a
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; DateTime which crosses the DST boundary.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks for the patch, I ran into that issue once then forgot
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to apply
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; the patch (that is now lost). Looking at yours and committing.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; Again, there don't appear to be test cases for this in the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mono test suite.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; your test case will make an unit test.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -s
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; Kudos to Martin Potter on our team for figuring this out.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; This patch is licensed under MIT/X11.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;tt&gt;[dto.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;commit bbc1e860891c2b143eba543bb19bf966ab5c805e
&lt;br&gt;Author: stephane &amp;lt;stephane@e3ebcda4-bce8-0310-ba0a-eca2169e7518&amp;gt;
&lt;br&gt;Date: &amp;nbsp; Thu Dec 3 11:58:11 2009 +0000
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; 2009-12-03 &amp;nbsp;Stephane Delcroix &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	* DateTimeOffset.cs: fix dates arithmetic to avoid throwing
&lt;br&gt;&amp;nbsp; &amp;nbsp; 	while crossing dst boundaries.
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@147551 e3ebcda4-bce8-0310-ba0a-eca2169e7518
&lt;br&gt;&lt;br&gt;diff --git a/class/corlib/System/ChangeLog b/class/corlib/System/ChangeLog
&lt;br&gt;index 5ccb57e..e951718 100644
&lt;br&gt;--- a/class/corlib/System/ChangeLog
&lt;br&gt;+++ b/class/corlib/System/ChangeLog
&lt;br&gt;@@ -1,3 +1,8 @@
&lt;br&gt;+2009-12-03 &amp;nbsp;Stephane Delcroix &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;
&lt;br&gt;+
&lt;br&gt;+	* DateTimeOffset.cs: fix dates arithmetic to avoid throwing
&lt;br&gt;+	while crossing dst boundaries.
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;2009-12-03 &amp;nbsp;Jb Evain &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jbevain@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	* Attribute.cs: remove code duplication.
&lt;br&gt;diff --git a/class/corlib/System/DateTimeOffset.cs b/class/corlib/System/DateTimeOffset.cs
&lt;br&gt;index c8e544c..ab6ec29 100644
&lt;br&gt;--- a/class/corlib/System/DateTimeOffset.cs
&lt;br&gt;+++ b/class/corlib/System/DateTimeOffset.cs
&lt;br&gt;@@ -101,17 +101,17 @@ namespace System
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset Add (TimeSpan timeSpan)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.Add (timeSpan), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.Add (timeSpan).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddDays (double days)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddDays (days), utc_offset);	
&lt;br&gt;+			return new DateTimeOffset (dt.AddDays (days).Ticks, utc_offset);	
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;		
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddHours (double hours)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddHours (hours), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.AddHours (hours).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public static DateTimeOffset operator + (DateTimeOffset dateTimeTz, TimeSpan timeSpan)
&lt;br&gt;@@ -121,32 +121,32 @@ namespace System
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddMilliseconds (double milliseconds)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddMilliseconds (milliseconds), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.AddMilliseconds (milliseconds).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddMinutes (double minutes)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddMinutes (minutes), utc_offset);	
&lt;br&gt;+			return new DateTimeOffset (dt.AddMinutes (minutes).Ticks, utc_offset);	
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddMonths (int months)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddMonths (months), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.AddMonths (months).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddSeconds (double seconds)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddSeconds (seconds), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.AddSeconds (seconds).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddTicks (long ticks)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddTicks (ticks), utc_offset);	
&lt;br&gt;+			return new DateTimeOffset (dt.AddTicks (ticks).Ticks, utc_offset);	
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public DateTimeOffset AddYears (int years)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			return new DateTimeOffset (dt.AddYears (years), utc_offset);
&lt;br&gt;+			return new DateTimeOffset (dt.AddYears (years).Ticks, utc_offset);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		public static int Compare (DateTimeOffset first, DateTimeOffset second)
&lt;br&gt;diff --git a/class/corlib/Test/System/DateTimeOffsetTest.cs b/class/corlib/Test/System/DateTimeOffsetTest.cs
&lt;br&gt;index ec2b91f..24f9aa1 100644
&lt;br&gt;--- a/class/corlib/Test/System/DateTimeOffsetTest.cs
&lt;br&gt;+++ b/class/corlib/Test/System/DateTimeOffsetTest.cs
&lt;br&gt;@@ -618,7 +618,16 @@ namespace MonoTests.System {
&lt;br&gt;&amp;nbsp;			}
&lt;br&gt;&amp;nbsp;			return result;
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;-
&lt;br&gt;+		
&lt;br&gt;+		[Test]
&lt;br&gt;+		public void ArithmeticAccrossDSTBoudaries ()
&lt;br&gt;+		{
&lt;br&gt;+			DateTime dt = new DateTime (633954393584177800, DateTimeKind.Local); //Dec 3, 2009, 12:16
&lt;br&gt;+			DateTimeOffset dto = new DateTimeOffset (dt);
&lt;br&gt;+			DateTimeOffset dto2 = dto.AddDays (-60); //Should cross the late Oct boundary in most part of the world
&lt;br&gt;+			Assert.AreEqual (dto.Offset, dto2.Offset);
&lt;br&gt;+			Assert.AreEqual (dt.AddDays (-60), dto2.DateTime);
&lt;br&gt;+		}
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26625005&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DateTimeOffset-Test-and-Patch-tp26521851p26625005.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26624840</id>
	<title>Re: Understanding &amp; Resolving MoMA Issue Messages</title>
	<published>2009-12-03T03:54:41Z</published>
	<updated>2009-12-03T03:54:41Z</updated>
	<author>
		<name>Rafael Teixeira</name>
	</author>
	<content type="html">Probably is a problem with MoMA's list of Mono APIs. Please report a
&lt;br&gt;bug on MoMA.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Rafael &amp;quot;Monoman&amp;quot; Teixeira
&lt;br&gt;---------------------------------------
&lt;br&gt;&amp;quot;To be creative means to be in love with life. You can be creative
&lt;br&gt;only if you love life enough that you want to enhance its beauty, you
&lt;br&gt;want to bring a little more music to it, a little more poetry to it, a
&lt;br&gt;little more dance to it.&amp;quot;
&lt;br&gt;Osho
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, Dec 3, 2009 at 9:19 AM, RobVesse &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26624840&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rvesse@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi all
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm looking into porting an existing .Net API I develop so that it will also
&lt;br&gt;&amp;gt; work under Mono, I have a few third party libraries which I use which I'll
&lt;br&gt;&amp;gt; need to change/drop from the Mono port but I'm having some problems solving
&lt;br&gt;&amp;gt; one of the issues that the Mono Migration Analyzer is reporting on my own
&lt;br&gt;&amp;gt; code.  The message is as follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Method missing from Mono - NameValueCollection HttpResponse.get_Headers ()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So looking at the methods that are calling this it appears to just be the
&lt;br&gt;&amp;gt; case that I've used code like the following:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; String accept = response.Headers[&amp;quot;Accept&amp;quot;];
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which I can replace fairly easily with:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; String[] accept = response.AcceptTypes;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The issue is that even after I make this change in all the places where it
&lt;br&gt;&amp;gt; occurs I still get the exact same issues reported by MoMA.  Does this mean
&lt;br&gt;&amp;gt; that internally the missing method still gets called and hence isn't
&lt;br&gt;&amp;gt; portable to Mono?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; What partly confuses me is that as far as I can see from the documentation
&lt;br&gt;&amp;gt; the method in question should be supported so I'm unsure why MoMA gives an
&lt;br&gt;&amp;gt; error anyway?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Rob
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26624389.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26624389.html&lt;/a&gt;&lt;br&gt;&amp;gt; Sent from the Mono - Dev mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26624840&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26624840&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26624840.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26624389</id>
	<title>Understanding &amp; Resolving MoMA Issue Messages</title>
	<published>2009-12-03T03:19:28Z</published>
	<updated>2009-12-03T03:19:28Z</updated>
	<author>
		<name>RobVesse</name>
	</author>
	<content type="html">Hi all
&lt;br&gt;&lt;br&gt;I'm looking into porting an existing .Net API I develop so that it will also work under Mono, I have a few third party libraries which I use which I'll need to change/drop from the Mono port but I'm having some problems solving one of the issues that the Mono Migration Analyzer is reporting on my own code. &amp;nbsp;The message is as follows:
&lt;br&gt;&lt;br&gt;Method missing from Mono - NameValueCollection HttpResponse.get_Headers ()
&lt;br&gt;&lt;br&gt;So looking at the methods that are calling this it appears to just be the case that I've used code like the following:
&lt;br&gt;&lt;br&gt;String accept = response.Headers[&amp;quot;Accept&amp;quot;];
&lt;br&gt;&lt;br&gt;Which I can replace fairly easily with:
&lt;br&gt;&lt;br&gt;String[] accept = response.AcceptTypes;
&lt;br&gt;&lt;br&gt;The issue is that even after I make this change in all the places where it occurs I still get the exact same issues reported by MoMA. &amp;nbsp;Does this mean that internally the missing method still gets called and hence isn't portable to Mono?
&lt;br&gt;&lt;br&gt;What partly confuses me is that as far as I can see from the documentation the method in question should be supported so I'm unsure why MoMA gives an error anyway?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Rob</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Understanding---Resolving-MoMA-Issue-Messages-tp26624389p26624389.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26624232</id>
	<title>Re: crashes while executing	System.Buffer.BlockCopyInternal</title>
	<published>2009-12-03T03:06:56Z</published>
	<updated>2009-12-03T03:06:56Z</updated>
	<author>
		<name>Daniel Weuthen-3</name>
	</author>
	<content type="html">&amp;gt;&amp;gt; No, could you fill a bug report on this to avoid getting it lost on
&lt;br&gt;&amp;gt;&amp;gt; the mailing list archives?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I spoke today with Daniel on the phone and looked at these errors;
&lt;br&gt;&amp;gt; Sadly with the information posted there is not much that we can do to
&lt;br&gt;&amp;gt; find the problem.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have asked Daniel to provide us with a self-contained test case.
&lt;br&gt;&lt;br&gt;I am currently running valgrind on our software to find some more
&lt;br&gt;information what causes the error. As far as I can see from what
&lt;br&gt;valgrind logs, there seem to be some problems with firebird, as the
&lt;br&gt;first millions of bugs are reported just while the database is read
&lt;br&gt;before the first window gets opened.
&lt;br&gt;&lt;br&gt;I will speak to our developers, to provide a test case as soon as
&lt;br&gt;possible. I will file a bug then.
&lt;br&gt;&lt;br&gt;I am really thankful for those information you provided me on the phone.
&lt;br&gt;I feel things are moving forward now.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;regards
&lt;br&gt;&lt;br&gt;Daniel Weuthen
&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26624232&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/crashes-while-executing-System.Buffer.BlockCopyInternal-tp26406964p26624232.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26623992</id>
	<title>Re: svn trunk, gmake check failed</title>
	<published>2009-12-03T02:43:30Z</published>
	<updated>2009-12-03T02:43:30Z</updated>
	<author>
		<name>Makoto Kishimoto</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;Sorry.
&lt;br&gt;Updated, error does not happen.
&lt;br&gt;&lt;br&gt;Current revision, one test failed.
&lt;br&gt;====
&lt;br&gt;382 test(s) passed. 1 test(s) did not pass.
&lt;br&gt;&lt;br&gt;Failed tests:
&lt;br&gt;&lt;br&gt;test-dup-mp.exe
&lt;br&gt;====
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, 3 Dec 2009 18:54:27 +0900
&lt;br&gt;&amp;quot;KISHIMOTO, Makoto&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26623992&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ksmakoto@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On FreeBSD, make check of Mono svn trunk failed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; $ gmake check
&lt;br&gt;&amp;gt; (snip)
&lt;br&gt;&amp;gt; gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;&amp;gt; gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;&amp;gt; gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;&amp;gt; gmake test-local
&lt;br&gt;&amp;gt; gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake[4]: `profile-do--net_2_1_raw--test' is up to date.
&lt;br&gt;&amp;gt; gmake[4]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake[3]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake ONLY_CENTUM_TESTS=yes mcs-do-run-test-profiles
&lt;br&gt;&amp;gt; gmake[3]: Entering directory `/export/home/ksmakoto/Mono/BUILD/runtime'
&lt;br&gt;&amp;gt; cd ../../mono/../mcs &amp;&amp; gmake NO_DIR_CHECK=1 PROFILES='net_2_0 net_3_5 &amp;nbsp;net_2_1_raw &amp;nbsp;net_2_1_raw' run-test-profiles
&lt;br&gt;&amp;gt; gmake[4]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; ret=:; &amp;nbsp;{ gmake PROFILE=net_2_0 run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_3_5 run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_2_1_raw run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_2_1_raw run-test || ret=false; }; &amp;nbsp;$ret
&lt;br&gt;&amp;gt; gmake[5]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;&amp;gt; gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;&amp;gt; gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;&amp;gt; ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;&amp;gt; gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;&amp;gt; gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;&amp;gt; gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;&amp;gt; ok=:; \
&lt;br&gt;&amp;gt; 	PATH=&amp;quot;/export/home/ksmakoto/Mono/BUILD/runtime/_tmpinst/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ksmakoto/bin&amp;quot; MONO_REGISTRY_PATH=&amp;quot;/home/ksmakoto/.mono/registry&amp;quot; MONO_PATH=&amp;quot;./../../class/lib/net_2_0::$MONO_PATH&amp;quot; /export/home/ksmakoto/Mono/BUILD/runtime/mono-wrapper --debug &amp;nbsp;./../../class/lib/net_2_0/nunit-console.exe &amp;nbsp;corlib_test_net_2_0.dll -noshadow &amp;nbsp; -exclude=NotWorking,ValueAdd,CAS,InetAccess -output=TestResult-net_2_0.log -xml=TestResult-net_2_0.xml &amp;nbsp;|| ok=false; \
&lt;br&gt;&amp;gt; 	(echo ''; cat TestResult-net_2_0.log) | sed '1,/^Tests run: /d'; xsltproc ./../../build/nunit-summary.xsl TestResult-net_2_0.xml &amp;gt;&amp;gt; TestResult-net_2_0.log ; $ok
&lt;br&gt;&amp;gt; NUnit version 2.4.8
&lt;br&gt;&amp;gt; Copyright (C) 2002-2007 Charlie Poole.
&lt;br&gt;&amp;gt; Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
&lt;br&gt;&amp;gt; Copyright (C) 2000-2002 Philip Craig.
&lt;br&gt;&amp;gt; All Rights Reserved.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Runtime Environment - 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;OS Version: Unix 8.0.2.0
&lt;br&gt;&amp;gt; &amp;nbsp; CLR Version: 2.0.50727.1433 ( /trunk/mono r147160 Tue Dec &amp;nbsp;1 11:06:12 JST 2009 )
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Unhandled Exception:
&lt;br&gt;&amp;gt; System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
&lt;br&gt;&amp;gt; Parameter name: index
&lt;br&gt;&amp;gt; 0
&lt;br&gt;&amp;gt; &amp;nbsp; at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000] in /export/home/ksmakoto/Mono/mcs/class/corlib/System.Collections/ArrayList.cs:3249 
&lt;br&gt;&amp;gt; &amp;nbsp; at System.Collections.ArrayList.get_Item (Int32 index) [0x00013] in /export/home/ksmakoto/Mono/mcs/class/corlib/System.Collections/ArrayList.cs:2640 
&lt;br&gt;&amp;gt; &amp;nbsp; at System.Diagnostics.ProcessModuleCollection.get_Item (Int32 index) [0x00000] in /export/home/ksmakoto/Mono/mcs/class/System/System.Diagnostics/ProcessModuleCollection.cs:63 
&lt;br&gt;&amp;gt; &amp;nbsp; at System.Diagnostics.Process.get_MainModule () [0x00000] in /export/home/ksmakoto/Mono/mcs/class/System/System.Diagnostics/Process.cs:232 
&lt;br&gt;&amp;gt; &amp;nbsp; at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:get_MainModule ()
&lt;br&gt;&amp;gt; &amp;nbsp; at NUnit.Util.DomainManager.CreateDomain (NUnit.Core.TestPackage package) [0x0019f] in /export/home/ksmakoto/Mono/mcs/nunit24/ClientUtilities/util/Services/DomainManager.cs:105 
&lt;br&gt;&amp;gt; &amp;nbsp; at NUnit.Util.TestDomain.Load (NUnit.Core.TestPackage package) [0x00011] in /export/home/ksmakoto/Mono/mcs/nunit24/ClientUtilities/util/TestDomain.cs:52 
&lt;br&gt;&amp;gt; warning: failed to load external entity &amp;quot;TestResult-net_2_0.xml&amp;quot;
&lt;br&gt;&amp;gt; unable to parse TestResult-net_2_0.xml
&lt;br&gt;&amp;gt; gmake[8]: *** [run-test-lib] Error 1
&lt;/div&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26623992&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-trunk%2C-gmake-check-failed-tp26623462p26623992.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26623462</id>
	<title>svn trunk, gmake check failed</title>
	<published>2009-12-03T01:54:27Z</published>
	<updated>2009-12-03T01:54:27Z</updated>
	<author>
		<name>Makoto Kishimoto</name>
	</author>
	<content type="html">Hello
&lt;br&gt;&lt;br&gt;On FreeBSD, make check of Mono svn trunk failed.
&lt;br&gt;&lt;br&gt;$ gmake check
&lt;br&gt;(snip)
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake test-local
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[4]: `profile-do--net_2_1_raw--test' is up to date.
&lt;br&gt;gmake[4]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[3]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake ONLY_CENTUM_TESTS=yes mcs-do-run-test-profiles
&lt;br&gt;gmake[3]: Entering directory `/export/home/ksmakoto/Mono/BUILD/runtime'
&lt;br&gt;cd ../../mono/../mcs &amp;&amp; gmake NO_DIR_CHECK=1 PROFILES='net_2_0 net_3_5 &amp;nbsp;net_2_1_raw &amp;nbsp;net_2_1_raw' run-test-profiles
&lt;br&gt;gmake[4]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;ret=:; &amp;nbsp;{ gmake PROFILE=net_2_0 run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_3_5 run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_2_1_raw run-test || ret=false; }; &amp;nbsp; { gmake PROFILE=net_2_1_raw run-test || ret=false; }; &amp;nbsp;$ret
&lt;br&gt;gmake[5]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;ok=:; \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PATH=&amp;quot;/export/home/ksmakoto/Mono/BUILD/runtime/_tmpinst/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ksmakoto/bin&amp;quot; MONO_REGISTRY_PATH=&amp;quot;/home/ksmakoto/.mono/registry&amp;quot; MONO_PATH=&amp;quot;./../../class/lib/net_2_0::$MONO_PATH&amp;quot; /export/home/ksmakoto/Mono/BUILD/runtime/mono-wrapper --debug &amp;nbsp;./../../class/lib/net_2_0/nunit-console.exe &amp;nbsp;corlib_test_net_2_0.dll -noshadow &amp;nbsp; -exclude=NotWorking,ValueAdd,CAS,InetAccess -output=TestResult-net_2_0.log -xml=TestResult-net_2_0.xml &amp;nbsp;|| ok=false; \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (echo ''; cat TestResult-net_2_0.log) | sed '1,/^Tests run: /d'; xsltproc ./../../build/nunit-summary.xsl TestResult-net_2_0.xml &amp;gt;&amp;gt; TestResult-net_2_0.log ; $ok
&lt;br&gt;NUnit version 2.4.8
&lt;br&gt;Copyright (C) 2002-2007 Charlie Poole.
&lt;br&gt;Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
&lt;br&gt;Copyright (C) 2000-2002 Philip Craig.
&lt;br&gt;All Rights Reserved.
&lt;br&gt;&lt;br&gt;Runtime Environment - 
&lt;br&gt;&amp;nbsp; &amp;nbsp;OS Version: Unix 8.0.2.0
&lt;br&gt;&amp;nbsp; CLR Version: 2.0.50727.1433 ( /trunk/mono r147160 Tue Dec &amp;nbsp;1 11:06:12 JST 2009 )
&lt;br&gt;&lt;br&gt;Unhandled Exception:
&lt;br&gt;System.ArgumentOutOfRangeException: Index is less than 0 or more than or equal to the list count.
&lt;br&gt;Parameter name: index
&lt;br&gt;0
&lt;br&gt;&amp;nbsp; at System.Collections.ArrayList.ThrowNewArgumentOutOfRangeException (System.String name, System.Object actual, System.String message) [0x00000] in /export/home/ksmakoto/Mono/mcs/class/corlib/System.Collections/ArrayList.cs:3249 
&lt;br&gt;&amp;nbsp; at System.Collections.ArrayList.get_Item (Int32 index) [0x00013] in /export/home/ksmakoto/Mono/mcs/class/corlib/System.Collections/ArrayList.cs:2640 
&lt;br&gt;&amp;nbsp; at System.Diagnostics.ProcessModuleCollection.get_Item (Int32 index) [0x00000] in /export/home/ksmakoto/Mono/mcs/class/System/System.Diagnostics/ProcessModuleCollection.cs:63 
&lt;br&gt;&amp;nbsp; at System.Diagnostics.Process.get_MainModule () [0x00000] in /export/home/ksmakoto/Mono/mcs/class/System/System.Diagnostics/Process.cs:232 
&lt;br&gt;&amp;nbsp; at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:get_MainModule ()
&lt;br&gt;&amp;nbsp; at NUnit.Util.DomainManager.CreateDomain (NUnit.Core.TestPackage package) [0x0019f] in /export/home/ksmakoto/Mono/mcs/nunit24/ClientUtilities/util/Services/DomainManager.cs:105 
&lt;br&gt;&amp;nbsp; at NUnit.Util.TestDomain.Load (NUnit.Core.TestPackage package) [0x00011] in /export/home/ksmakoto/Mono/mcs/nunit24/ClientUtilities/util/TestDomain.cs:52 
&lt;br&gt;warning: failed to load external entity &amp;quot;TestResult-net_2_0.xml&amp;quot;
&lt;br&gt;unable to parse TestResult-net_2_0.xml
&lt;br&gt;gmake[8]: *** [run-test-lib] Error 1
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[7]: *** [do-run-test] Error 1
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[6]: *** [run-test-recursive] Error 1
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: *** [do-run-test] Error 1
&lt;br&gt;gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/build'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;Makefile:47: warning: overriding commands for target `csproj-local'
&lt;br&gt;../build/executable.make:131: warning: ignoring old commands for target `csproj-local'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/mcs'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/corlib'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/Mono.CompilerServices.SymbolWriter'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Net'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.XML'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Core'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Xml.Linq'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.Runtime.Serialization'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class/System.ServiceModel.Web'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/class'
&lt;br&gt;gmake[7]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[9]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;ok=:; gmake run-test-recursive || ok=false; gmake run-test-local || ok=false; $ok
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[10]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[9]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools/compiler-tester'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[8]: Entering directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[8]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[7]: Leaving directory `/export/home/ksmakoto/Mono/mcs/tools'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Entering directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[6]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[5]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[4]: *** [profiles-do--run-test] Error 1
&lt;br&gt;gmake[4]: Leaving directory `/export/home/ksmakoto/Mono/mcs'
&lt;br&gt;gmake[3]: *** [mcs-do-run-test-profiles] Error 2
&lt;br&gt;gmake[3]: Leaving directory `/export/home/ksmakoto/Mono/BUILD/runtime'
&lt;br&gt;gmake[2]: *** [check-local] Error 2
&lt;br&gt;gmake[2]: Leaving directory `/export/home/ksmakoto/Mono/BUILD/runtime'
&lt;br&gt;gmake[1]: *** [check-am] Error 2
&lt;br&gt;gmake[1]: Leaving directory `/export/home/ksmakoto/Mono/BUILD/runtime'
&lt;br&gt;gmake: *** [check-recursive] Error 1
&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26623462&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-trunk%2C-gmake-check-failed-tp26623462p26623462.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26621526</id>
	<title>Pointers for using/branching HttpWebRequest</title>
	<published>2009-12-02T22:15:29Z</published>
	<updated>2009-12-02T22:15:29Z</updated>
	<author>
		<name>moxen</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I'm working on a project in which I'd like to make a variety of HTTP(S) requests while still retaining control of the underlying connection.
&lt;br&gt;&lt;br&gt;That is, I would like to control when new connections are made, reused, and closed. And adhere to the &amp;quot;maxconnections&amp;quot; value only when I'm in the mood.
&lt;br&gt;&lt;br&gt;At the same time, it'd sure be great if I didn't have to implement the whole HTTP protocol myself (especially the digest authentication and SPENGO/Kerberos-type stuff).
&lt;br&gt;&lt;br&gt;So, I have two questions:
&lt;br&gt;&lt;br&gt;1. Obviously, this isn't what HttpWebRequest is supposed to do by default. Does anyone have pointers to where in the code (or SVN repository) I might look in order to branch the current implementation for my own purposes? I tried poking around in the repository but I got lost real quick.
&lt;br&gt;&lt;br&gt;2. How far along is the support for all the different HTTP authentication options?
&lt;br&gt;&lt;br&gt;I'd be much obliged if anyone had any helpful hints.
&lt;br&gt;&lt;br&gt;Thanks.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Pointers-for-using-branching-HttpWebRequest-tp26621526p26621526.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26619292</id>
	<title>Re: Patch for Processes.c on Mac OSX</title>
	<published>2009-12-02T16:46:27Z</published>
	<updated>2009-12-02T16:46:27Z</updated>
	<author>
		<name>Tom Philpot</name>
	</author>
	<content type="html">The purpose of the loop is because if sysctl fails to alloc enough space in
&lt;br&gt;the second call, proclength is set to the length of data returned, not to
&lt;br&gt;the length of the data that could/should have been returned, so we have to
&lt;br&gt;start over again by passing NULL to sysctl to determine how big proclength
&lt;br&gt;should have been and try again.
&lt;br&gt;&lt;br&gt;Tom
&lt;br&gt;&lt;br&gt;On 12/2/09 4:03 PM, &amp;quot;Miguel de Icaza&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26619292&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;miguel@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; The overall patch looks good, but some small changes must be done
&lt;br&gt;&amp;gt;&amp;gt; before the patch can be committed:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In addition to these comments, I fail to see the point of the do/while
&lt;br&gt;&amp;gt; loop, it seems to not be used at all. &amp;nbsp; Can you explain the reason for
&lt;br&gt;&amp;gt; it? &amp;nbsp; I might be missing something important.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; @@ -1489,8 +1489,73 @@
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;#endif /* UNUSED_CODE */
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; +#ifdef PLATFORM_MACOSX
&lt;br&gt;&amp;gt;&amp;gt; +#include &amp;lt;sys/sysctl.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +#include &amp;lt;sys/proc.h&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt; Move header declarations to the top of the file. It doesn't matter we have
&lt;br&gt;&amp;gt;&amp;gt; other
&lt;br&gt;&amp;gt;&amp;gt; place with this, let's not make it worse.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp;if (err == 0) {
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; result = g_malloc (proclength);
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; if (result == NULL) {
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;err = ENOMEM;
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; }
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; No need to guard against allocation failure with g_malloc as glib asserts on
&lt;br&gt;&amp;gt;&amp;gt; failure.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; The same applies to the loop around allocation failure.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; + free (result);
&lt;br&gt;&amp;gt;&amp;gt; + result = NULL;
&lt;br&gt;&amp;gt;&amp;gt; + *needed = j * sizeof(guint32);
&lt;br&gt;&amp;gt;&amp;gt; You must use g_free paired with g_malloc.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I believe the code in process_open_compare is not optimal for OSX as
&lt;br&gt;&amp;gt;&amp;gt; it wastes time following the
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; linux path. Please rework it to be something saner:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; #if defined(PLATFORM_MACOSX)
&lt;br&gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; #elif defined (PLATFORM_SOLARIS)
&lt;br&gt;&amp;gt;&amp;gt; #else
&lt;br&gt;&amp;gt;&amp;gt; ...
&lt;br&gt;&amp;gt;&amp;gt; #endif
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Thanks for the patch,
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Rodrigo
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26619292&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26619292&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-for-Processes.c-on-Mac-OSX-tp26521923p26619292.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26618916</id>
	<title>Re: Patch for Processes.c on Mac OSX</title>
	<published>2009-12-02T16:03:29Z</published>
	<updated>2009-12-02T16:03:29Z</updated>
	<author>
		<name>Miguel de Icaza-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; I forgot to mention, I switched the code to use malloc/free to avoid
&lt;br&gt;g_malloc asserting on us, and instead I cope with the NULL from malloc.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Rodrigo,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for the feedback. Here’s an updated patch.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Again, this is X11 MIT Licensed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tom
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 12/2/09 4:30 AM, &amp;quot;Rodrigo Kumpera&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618916&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kumpera@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The overall patch looks good, but some small changes must be
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; done before the patch can be committed:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @@ -1489,8 +1489,73 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#endif /* UNUSED_CODE */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#ifdef PLATFORM_MACOSX
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#include &amp;lt;sys/sysctl.h&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#include &amp;lt;sys/proc.h&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Move header declarations to the top of the file. It doesn't
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; matter we have other
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; place with this, let's not make it worse.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp;if (err == 0) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; result = g_malloc (proclength);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; if (result == NULL) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; &amp;nbsp;err = ENOMEM;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; No need to guard against allocation failure with g_malloc as
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glib asserts on failure.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The same applies to the loop around allocation failure.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + free (result);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + result = NULL;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + *needed = j * sizeof(guint32);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; You must use g_free paired with g_malloc.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I believe the code in process_open_compare is not optimal for
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OSX as it wastes time following the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; linux path. Please rework it to be something saner:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #if defined(PLATFORM_MACOSX)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #elif defined (PLATFORM_SOLARIS)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #endif
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks for the patch,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rodrigo
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618916&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618916&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-for-Processes.c-on-Mac-OSX-tp26521923p26618916.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26618912</id>
	<title>Re: Patch for Processes.c on Mac OSX</title>
	<published>2009-12-02T16:03:18Z</published>
	<updated>2009-12-02T16:03:18Z</updated>
	<author>
		<name>Miguel de Icaza-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; I have this local version of the patch that fixes a leak in case the
&lt;br&gt;process loops (it was leaking result).
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Rodrigo,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for the feedback. Here’s an updated patch.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Again, this is X11 MIT Licensed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Tom
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 12/2/09 4:30 AM, &amp;quot;Rodrigo Kumpera&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618912&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kumpera@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The overall patch looks good, but some small changes must be
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; done before the patch can be committed:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @@ -1489,8 +1489,73 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#endif /* UNUSED_CODE */
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#ifdef PLATFORM_MACOSX
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#include &amp;lt;sys/sysctl.h&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +#include &amp;lt;sys/proc.h&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Move header declarations to the top of the file. It doesn't
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; matter we have other
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; place with this, let's not make it worse.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp;if (err == 0) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; result = g_malloc (proclength);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; if (result == NULL) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; &amp;nbsp;err = ENOMEM;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; No need to guard against allocation failure with g_malloc as
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; glib asserts on failure.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The same applies to the loop around allocation failure.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + free (result);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + result = NULL;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; + *needed = j * sizeof(guint32);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; You must use g_free paired with g_malloc.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; I believe the code in process_open_compare is not optimal for
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OSX as it wastes time following the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; linux path. Please rework it to be something saner:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #if defined(PLATFORM_MACOSX)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #elif defined (PLATFORM_SOLARIS)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #endif
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thanks for the patch,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rodrigo
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618912&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;tt&gt;[fixed-version.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: processes.c
&lt;br&gt;===================================================================
&lt;br&gt;--- processes.c	(revision 147470)
&lt;br&gt;+++ processes.c	(working copy)
&lt;br&gt;@@ -35,6 +35,12 @@
&lt;br&gt;&amp;nbsp;#include &amp;lt;sys/resource.h&amp;gt;
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+#ifdef PLATFORM_MACOSX
&lt;br&gt;+#include &amp;lt;sys/proc.h&amp;gt;
&lt;br&gt;+#include &amp;lt;sys/sysctl.h&amp;gt;
&lt;br&gt;+#include &amp;lt;sys/utsname.h&amp;gt;
&lt;br&gt;+#endif
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;#ifdef PLATFORM_SOLARIS
&lt;br&gt;&amp;nbsp;/* procfs.h cannot be included if this define is set, but it seems to work fine if it is undefined */
&lt;br&gt;&amp;nbsp;#if _FILE_OFFSET_BITS == 64
&lt;br&gt;@@ -408,7 +414,6 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;#ifdef PLATFORM_MACOSX
&lt;br&gt;-#include &amp;lt;sys/utsname.h&amp;gt;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/* 0 = no detection; -1 = not 10.5 or higher; &amp;nbsp;1 = 10.5 or higher */
&lt;br&gt;&amp;nbsp;static int osx_10_5_or_higher;
&lt;br&gt;@@ -1489,8 +1494,62 @@
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;#endif /* UNUSED_CODE */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+#ifdef PLATFORM_MACOSX
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;gboolean EnumProcesses (guint32 *pids, guint32 len, guint32 *needed)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;+	guint32 count, fit, i, j;
&lt;br&gt;+	gint32 err;
&lt;br&gt;+	gboolean done;
&lt;br&gt;+	struct kinfo_proc *result;
&lt;br&gt;+	size_t proclength;
&lt;br&gt;+	static const int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0 };
&lt;br&gt;+	
&lt;br&gt;+	mono_once (&amp;process_current_once, process_set_current);
&lt;br&gt;+	
&lt;br&gt;+	result = NULL;
&lt;br&gt;+	done = FALSE;
&lt;br&gt;+	
&lt;br&gt;+	do {
&lt;br&gt;+		proclength = 0;
&lt;br&gt;+		err = sysctl ((int *)name, (sizeof(name) / sizeof(*name)) - 1, NULL, &amp;proclength, NULL, 0);
&lt;br&gt;+
&lt;br&gt;+		if (err == 0) {
&lt;br&gt;+			result = malloc (proclength);
&lt;br&gt;+			if (result == NULL)
&lt;br&gt;+				return FALSE;
&lt;br&gt;+			
&lt;br&gt;+			err = sysctl ((int *) name, (sizeof(name) / sizeof(*name)) - 1, result, &amp;proclength, NULL, 0);
&lt;br&gt;+
&lt;br&gt;+			if (err == 0) 
&lt;br&gt;+				done = TRUE;
&lt;br&gt;+			else
&lt;br&gt;+				free (result);
&lt;br&gt;+		}
&lt;br&gt;+	} while (err == 0 &amp;&amp; !done);
&lt;br&gt;+	
&lt;br&gt;+	if (err != 0) {
&lt;br&gt;+ 		if (result != NULL) {
&lt;br&gt;+			free (result);
&lt;br&gt;+			result = NULL;
&lt;br&gt;+		}
&lt;br&gt;+		return(FALSE);
&lt;br&gt;+	}	
&lt;br&gt;+	
&lt;br&gt;+	count = proclength / sizeof(struct kinfo_proc);
&lt;br&gt;+	fit = len / sizeof(guint32);
&lt;br&gt;+	for (i = 0, j = 0; j&amp;lt; fit &amp;&amp; i &amp;lt; count; i++) {
&lt;br&gt;+		pids [j++] = result [i].kp_proc.p_pid;
&lt;br&gt;+	}
&lt;br&gt;+	free (result);
&lt;br&gt;+	result = NULL;
&lt;br&gt;+	*needed = j * sizeof(guint32);
&lt;br&gt;+	
&lt;br&gt;+	return(TRUE);
&lt;br&gt;+}
&lt;br&gt;+#else
&lt;br&gt;+gboolean EnumProcesses (guint32 *pids, guint32 len, guint32 *needed)
&lt;br&gt;+{
&lt;br&gt;&amp;nbsp;	GArray *processes = g_array_new (FALSE, FALSE, sizeof(pid_t));
&lt;br&gt;&amp;nbsp;	guint32 fit, i, j;
&lt;br&gt;&amp;nbsp;	DIR *dir;
&lt;br&gt;@@ -1528,6 +1587,7 @@
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp;	return(TRUE);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;+#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;static gboolean process_open_compare (gpointer handle, gpointer user_data)
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;@@ -2050,9 +2110,28 @@
&lt;br&gt;&amp;nbsp;	gchar *ret = NULL;
&lt;br&gt;&amp;nbsp;	gchar buf[256];
&lt;br&gt;&amp;nbsp;	FILE *fp;
&lt;br&gt;-	
&lt;br&gt;+
&lt;br&gt;+#if defined(PLATFORM_SOLARIS)
&lt;br&gt;+	filename = g_strdup_printf (&amp;quot;/proc/%d/psinfo&amp;quot;, pid);
&lt;br&gt;+	if ((fp = fopen (filename, &amp;quot;r&amp;quot;)) != NULL) {
&lt;br&gt;+		struct psinfo info;
&lt;br&gt;+		int nread;
&lt;br&gt;+
&lt;br&gt;+		nread = fread (&amp;info, sizeof (info), 1, fp);
&lt;br&gt;+		if (nread == 1) {
&lt;br&gt;+			ret = g_strdup (info.pr_fname);
&lt;br&gt;+		}
&lt;br&gt;+
&lt;br&gt;+		fclose (fp);
&lt;br&gt;+	}
&lt;br&gt;+	g_free (filename);
&lt;br&gt;+#elif defined(PLATFORM_MACOSX)
&lt;br&gt;&amp;nbsp;	memset (buf, '\0', sizeof(buf));
&lt;br&gt;-	
&lt;br&gt;+	proc_name (pid, buf, sizeof(buf));
&lt;br&gt;+	if (strlen (buf) &amp;gt; 0)
&lt;br&gt;+		ret = g_strdup (buf);
&lt;br&gt;+#else
&lt;br&gt;+	memset (buf, '\0', sizeof(buf));
&lt;br&gt;&amp;nbsp;	filename = g_strdup_printf (&amp;quot;/proc/%d/exe&amp;quot;, pid);
&lt;br&gt;&amp;nbsp;	if (readlink (filename, buf, 255) &amp;gt; 0) {
&lt;br&gt;&amp;nbsp;		ret = g_strdup (buf);
&lt;br&gt;@@ -2062,7 +2141,7 @@
&lt;br&gt;&amp;nbsp;	if (ret != NULL) {
&lt;br&gt;&amp;nbsp;		return(ret);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;-	
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;	filename = g_strdup_printf (&amp;quot;/proc/%d/cmdline&amp;quot;, pid);
&lt;br&gt;&amp;nbsp;	if ((fp = fopen (filename, &amp;quot;r&amp;quot;)) != NULL) {
&lt;br&gt;&amp;nbsp;		if (fgets (buf, 256, fp) != NULL) {
&lt;br&gt;@@ -2096,25 +2175,6 @@
&lt;br&gt;&amp;nbsp;		fclose (fp);
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;	g_free (filename);
&lt;br&gt;-
&lt;br&gt;-	if (ret != NULL) {
&lt;br&gt;-		return(ret);
&lt;br&gt;-	}
&lt;br&gt;-
&lt;br&gt;-#ifdef PLATFORM_SOLARIS
&lt;br&gt;-	filename = g_strdup_printf (&amp;quot;/proc/%d/psinfo&amp;quot;, pid);
&lt;br&gt;-	if ((fp = fopen (filename, &amp;quot;r&amp;quot;)) != NULL) {
&lt;br&gt;-		struct psinfo info;
&lt;br&gt;-		int nread;
&lt;br&gt;-
&lt;br&gt;-		nread = fread (&amp;info, sizeof (info), 1, fp);
&lt;br&gt;-		if (nread == 1) {
&lt;br&gt;-			ret = g_strdup (info.pr_fname);
&lt;br&gt;-		}
&lt;br&gt;-		
&lt;br&gt;-		fclose (fp);
&lt;br&gt;-	}
&lt;br&gt;-	g_free (filename);
&lt;br&gt;&amp;nbsp;#endif
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;	if (ret != NULL) {
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618912&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-for-Processes.c-on-Mac-OSX-tp26521923p26618912.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26618906</id>
	<title>Re: Patch for Processes.c on Mac OSX</title>
	<published>2009-12-02T16:03:00Z</published>
	<updated>2009-12-02T16:03:00Z</updated>
	<author>
		<name>Miguel de Icaza-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;gt; The overall patch looks good, but some small changes must be done
&lt;br&gt;&amp;gt; before the patch can be committed:
&lt;br&gt;&lt;br&gt;In addition to these comments, I fail to see the point of the do/while
&lt;br&gt;loop, it seems to not be used at all. &amp;nbsp; Can you explain the reason for
&lt;br&gt;it? &amp;nbsp; I might be missing something important.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; @@ -1489,8 +1489,73 @@
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;#endif /* UNUSED_CODE */
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; +#ifdef PLATFORM_MACOSX
&lt;br&gt;&amp;gt; +#include &amp;lt;sys/sysctl.h&amp;gt;
&lt;br&gt;&amp;gt; +#include &amp;lt;sys/proc.h&amp;gt;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; Move header declarations to the top of the file. It doesn't matter we have other
&lt;br&gt;&amp;gt; place with this, let's not make it worse.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; +		if (err == 0) {
&lt;br&gt;&amp;gt; +			result = g_malloc (proclength);
&lt;br&gt;&amp;gt; +			if (result == NULL) {
&lt;br&gt;&amp;gt; +				err = ENOMEM;
&lt;br&gt;&amp;gt; +			}
&lt;br&gt;&amp;gt; +		}
&lt;br&gt;&amp;gt; No need to guard against allocation failure with g_malloc as glib asserts on failure.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The same applies to the loop around allocation failure.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; +	free (result);
&lt;br&gt;&amp;gt; +	result = NULL;
&lt;br&gt;&amp;gt; +	*needed = j * sizeof(guint32);
&lt;br&gt;&amp;gt; You must use g_free paired with g_malloc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I believe the code in process_open_compare is not optimal for OSX as
&lt;br&gt;&amp;gt; it wastes time following the
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; linux path. Please rework it to be something saner:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; #if defined(PLATFORM_MACOSX)
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; #elif defined (PLATFORM_SOLARIS)
&lt;br&gt;&amp;gt; #else
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; #endif
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for the patch,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Rodrigo
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Mono-devel-list mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618906&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618906&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-for-Processes.c-on-Mac-OSX-tp26521923p26618906.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26618034</id>
	<title>Re: DateTimeOffset Test and Patch</title>
	<published>2009-12-02T14:53:16Z</published>
	<updated>2009-12-02T14:53:16Z</updated>
	<author>
		<name>Tom Philpot</name>
	</author>
	<content type="html">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Re: [Mono-dev] DateTimeOffset Test and Patch&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FONT FACE=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;SPAN STYLE='font-size:11pt'&gt;Stephen,&lt;BR&gt;
&lt;BR&gt;
Did this patch ever get committed?&lt;BR&gt;
&lt;BR&gt;
Thanks,&lt;BR&gt;
Tom&lt;BR&gt;
&lt;BR&gt;
&lt;BR&gt;
On 11/26/09 5:23 AM, &amp;quot;Stephane Delcroix&amp;quot; &amp;lt;&lt;a href=&quot;stephane@delcroix.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt; wrote:&lt;BR&gt;
&lt;BR&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BLOCKQUOTE&gt;&lt;SPAN STYLE='font-size:11pt'&gt;&lt;FONT FACE=&quot;Consolas, Courier New, Courier&quot;&gt;On Wed, 2009-11-25 at 15:04 -0800, Tom Philpot wrote:&lt;BR&gt;
&amp;gt; Here's a patch that resolves an issue of adding or subtracting time from a&lt;BR&gt;
&amp;gt; DateTime which crosses the DST boundary.&lt;BR&gt;
&lt;BR&gt;
Thanks for the patch, I ran into that issue once then forgot to apply&lt;BR&gt;
the patch (that is now lost). Looking at yours and committing.&lt;BR&gt;
&amp;gt;&lt;BR&gt;
&amp;gt; Again, there don't appear to be test cases for this in the Mono test suite.&lt;BR&gt;
your test case will make an unit test.&lt;BR&gt;
&lt;BR&gt;
-s&lt;BR&gt;
&amp;gt;&lt;BR&gt;
&amp;gt; Kudos to Martin Potter on our team for figuring this out.&lt;BR&gt;
&amp;gt;&lt;BR&gt;
&amp;gt; This patch is licensed under MIT/X11.&lt;BR&gt;
&amp;gt;&lt;BR&gt;
&amp;gt;&lt;BR&gt;
&amp;gt; _______________________________________________&lt;BR&gt;
&amp;gt; Mono-devel-list mailing list&lt;BR&gt;
&amp;gt; &lt;a href=&quot;Mono-devel-list@lists.ximian.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;BR&gt;
&amp;gt; &lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;BR&gt;
&lt;BR&gt;
&lt;BR&gt;
&lt;BR&gt;
&lt;/FONT&gt;&lt;FONT FACE=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;BR&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26618034&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DateTimeOffset-Test-and-Patch-tp26521851p26618034.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26616364</id>
	<title>Re: How to improve Dataset Performance</title>
	<published>2009-12-02T12:59:59Z</published>
	<updated>2009-12-02T12:59:59Z</updated>
	<author>
		<name>Nagappan</name>
	</author>
	<content type="html">Hello,&lt;br&gt;&lt;br&gt;Do you have a test case to reproduce this issue, which you could share with the Mono team ?&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Nagappan&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Dec 2, 2009 at 4:05 AM, APS &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26616364&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev.malst@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi,&lt;br&gt;
&lt;br&gt;
I&amp;#39;m testing some old elaboration that cycles on a large datatable and&lt;br&gt;
for every rows makes several selections on separated datatables.&lt;br&gt;
This elaboration is really slow on mono and fast on &lt;a href=&quot;http://MS.NET&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;MS.NET&lt;/a&gt;, let say&lt;br&gt;
400secs vs 4 secs.&lt;br&gt;
It seems that last rows are slower that first rows.&lt;br&gt;
I made some test on datasets scroll and I saw that mono performance&lt;br&gt;
is better than &lt;a href=&quot;http://MS.NET&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;MS.NET&lt;/a&gt; so the delay is due to inner selections.&lt;br&gt;
I changed datatable.select in defaultview.sort and I gained 200secs,&lt;br&gt;
still too slow.&lt;br&gt;
Now I&amp;#39;ve identified some datatable.compute as the main delay source.&lt;br&gt;
I&amp;#39;ll try to change them using Linq but the question is: there&amp;#39;s some&lt;br&gt;
known performance problem in dataset heavy usage, there&amp;#39;s some best&lt;br&gt;
pratice that you can suggest to speed up elaborations?&lt;br&gt;
Thanks in advance.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
_______________________________________________&lt;br&gt;
Mono-devel-list mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26616364&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Linux Desktop (GUI Application) Testing Project - &lt;a href=&quot;http://ldtp.freedesktop.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ldtp.freedesktop.org&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://nagappanal.blogspot.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://nagappanal.blogspot.com&lt;/a&gt;&lt;br&gt;


&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26616364&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-improve-Dataset-Performance-tp26607842p26616364.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26614151</id>
	<title>Re: Patch for Processes.c on Mac OSX</title>
	<published>2009-12-02T10:44:24Z</published>
	<updated>2009-12-02T10:44:24Z</updated>
	<author>
		<name>Rodrigo Kumpera</name>
	</author>
	<content type="html">Thanks for the patch, Miguel applied it.&lt;div&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Dec 2, 2009 at 3:10 PM, Tom Philpot &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614151&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tom.philpot@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;



&lt;div&gt;
&lt;font face=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;Rodrigo,&lt;br&gt;
&lt;br&gt;
Thanks for the feedback. Here’s an updated patch.&lt;br&gt;
&lt;br&gt;
Again, this is X11 MIT Licensed.&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;
&lt;br&gt;
Tom&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
On 12/2/09 4:30 AM, &amp;quot;Rodrigo Kumpera&amp;quot; &amp;lt;&lt;a href=&quot;http://kumpera@gmail.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;kumpera@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;blockquote&gt;&lt;font face=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;The overall patch looks good, but some small changes must be done before the patch can be committed:&lt;br&gt;

&lt;br&gt;
&lt;br&gt;
@@ -1489,8 +1489,73 @@&lt;br&gt;
 }&lt;br&gt;
 #endif /* UNUSED_CODE */&lt;br&gt;
 &lt;br&gt;
+#ifdef PLATFORM_MACOSX&lt;br&gt;
+#include &amp;lt;sys/sysctl.h&amp;gt;&lt;br&gt;
+#include &amp;lt;sys/proc.h&amp;gt;&lt;br&gt;
+&lt;br&gt;
Move header declarations to the top of the file. It doesn&amp;#39;t matter we have other&lt;br&gt;
place with this, let&amp;#39;s not make it worse.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
+  if (err == 0) {&lt;br&gt;
+   result = g_malloc (proclength);&lt;br&gt;
+   if (result == NULL) {&lt;br&gt;
+    err = ENOMEM;&lt;br&gt;
+   }&lt;br&gt;
+  }&lt;br&gt;
No need to guard against allocation failure with g_malloc as glib asserts on failure.&lt;br&gt;
&lt;br&gt;
The same applies to the loop around allocation failure.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
+ free (result);&lt;br&gt;
+ result = NULL;&lt;br&gt;
+ *needed = j * sizeof(guint32);&lt;br&gt;
You must use g_free paired with g_malloc.&lt;br&gt;
&lt;br&gt;
I believe the code in process_open_compare is not optimal for OSX as it wastes time following the&lt;br&gt;
&lt;br&gt;
linux path. Please rework it to be something saner:&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
#if defined(PLATFORM_MACOSX)&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
#elif defined (PLATFORM_SOLARIS)&lt;br&gt;
#else&lt;br&gt;
...&lt;br&gt;
#endif&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-size:11pt&quot;&gt;&lt;font face=&quot;Times, Times New Roman&quot;&gt;Thanks for the patch,&lt;br&gt;
&lt;/font&gt;&lt;font face=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;font face=&quot;Times, Times New Roman&quot;&gt;Rodrigo&lt;br&gt;
&lt;/font&gt;&lt;font face=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;font face=&quot;Times, Times New Roman&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font face=&quot;Calibri, Verdana, Helvetica, Arial&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;


&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614151&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-for-Processes.c-on-Mac-OSX-tp26521923p26614151.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26614141</id>
	<title>Re: inlining and performance of SIMD code</title>
	<published>2009-12-02T10:43:34Z</published>
	<updated>2009-12-02T10:43:34Z</updated>
	<author>
		<name>Rodrigo Kumpera</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Oct 20, 2009 at 2:10 PM, Erven Rohou &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614141&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;erven.rohou@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
Hello,&lt;br&gt;
&lt;br&gt;
I have a few questions about inlining:&lt;br&gt;
&lt;br&gt;
- I am curious what the heuristics are. I looked at the function&lt;br&gt;
mono_method_check_inlining, but even when the function returns TRUE, the&lt;br&gt;
function might not be inlined. Could you point me the relevant piece of code? Is&lt;br&gt;
there any high level rule to make a guess, like complex control flow, use of&lt;br&gt;
certain opcode, etc?&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The code in mono_method_check_inlining is just an heristics of what methods to&lt;/div&gt;&lt;div&gt;try to inline. The code that decides what gets inlined or not is in mono_method_to_ir,&lt;/div&gt;
&lt;div&gt;look for INLINE_FAILURE calls.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;br&gt;
- Can I force inlining of a given function? Even a hack is fine, I am trying to&lt;br&gt;
evaluate several code generation schemes, and I would like to measure the impact&lt;br&gt;
of inlining. Whatever works is fine.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This has been requested a few times, there is a patch floating on the mailing list&lt;/div&gt;&lt;div&gt;that adds the beginning of the code required for such thing. Other than that, no, there&lt;/div&gt;
&lt;div&gt;is not way to force inlining.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;As a hack you can simply change the heristics function to check against an env var&lt;/div&gt;&lt;div&gt;and then make the call to inline_method pass true to the last argument.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
It seems that a simple copy propagation followed by dead code elimination would&lt;br&gt;
fix it. But I am not sure where I should look. Any comment or suggestion?&lt;br&gt;&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;Generating good code without the simd ops enabled was never the idea, but to improve&lt;/div&gt;&lt;div&gt;it I fear we would need a scalar replacement pass, which is very tricky. &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We could get most of the same benefit by using high level load/store from vtypes&lt;/div&gt;&lt;meta charset=&quot;utf-8&quot;&gt;&lt;div&gt;instructions and decompose them later. This would enable us to do apply the usual&lt;/div&gt;&lt;div&gt;
optimizations which right now are not enabled since we generate indirect loads instructions&lt;/div&gt;&lt;div&gt;which disable most optimizations.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614141&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/inlining-and-performance-of-SIMD-code-tp25978028p26614141.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26614000</id>
	<title>Re: [PATCH] Use trampolines for vtable fixups (Windows) (updated)</title>
	<published>2009-12-02T10:33:17Z</published>
	<updated>2009-12-02T10:33:17Z</updated>
	<author>
		<name>Rodrigo Kumpera</name>
	</author>
	<content type="html">Submit them separatedly, because the commits should be split anyway.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;And please, don&amp;#39;t put the patch inline in the email body.&lt;div&gt;&lt;br&gt;Thanks,&lt;/div&gt;&lt;div&gt;Rodrigo&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;gmail_quote&quot;&gt;
2009/11/1 Kornél Pál &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614000&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kornelpal@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;I found out that reference counting in mono_image_close_except_pools was broken so I fixed that as well.&lt;br&gt;

&lt;br&gt;
Double freeing was possible with mono_close_exe_image and I fixed that as well.&lt;br&gt;
&lt;br&gt;
I can submit these two separately, but the first one is required by mono_vtfixup_trampoline to function correctly.&lt;br&gt;
&lt;br&gt;
Kornél&lt;br&gt;
&lt;br&gt;
Kornél Pál wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex&quot;&gt;
Please see the attached patch that is a separated and improved version&lt;br&gt;
of the prevously submitted patch.&lt;br&gt;
&lt;br&gt;
ChangeLog draft:&lt;br&gt;
mono_image_fixup_vtable is now called only when the image is loaded and&lt;br&gt;
creates trampolines rather than pointers to wrapper functions.&lt;br&gt;
&lt;br&gt;
A new trampoline type MONO_TRAMPOLINE_VTFIXUP is added that is created&lt;br&gt;
by mono_image_fixup_vtable, and is replacing the pointer to the&lt;br&gt;
trampoline with the result mono_marshal_get_vtfixup_ftnptr.&lt;br&gt;
&lt;br&gt;
Please review and if you like it, approve the patch.&lt;br&gt;
&lt;br&gt;
Thanks.&lt;br&gt;
&lt;/blockquote&gt;
&lt;br&gt;Index: mono/mono/metadata/domain.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/domain.c (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/domain.c (working copy)&lt;br&gt;
@@ -1735,8 +1735,10 @@&lt;br&gt;
 void&lt;br&gt;
 mono_close_exe_image (void)&lt;br&gt;
 {&lt;br&gt;
-       if (exe_image)&lt;br&gt;
+       if (exe_image) {&lt;br&gt;
                mono_image_close (exe_image);&lt;br&gt;
+               exe_image = NULL;&lt;br&gt;
+       }&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
 /**&lt;br&gt;
Index: mono/mono/metadata/assembly.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/assembly.c       (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/assembly.c       (working copy)&lt;br&gt;
@@ -1522,11 +1522,6 @@&lt;br&gt;
        loaded_assemblies = g_list_prepend (loaded_assemblies, ass);&lt;br&gt;
        mono_assemblies_unlock ();&lt;br&gt;
&lt;br&gt;
-#ifdef PLATFORM_WIN32&lt;br&gt;
-       if (image-&amp;gt;is_module_handle)&lt;br&gt;
-               mono_image_fixup_vtable (image);&lt;br&gt;
-#endif&lt;br&gt;
-&lt;br&gt;
        mono_assembly_invoke_load_hook (ass);&lt;br&gt;
&lt;br&gt;
        mono_profiler_assembly_loaded (ass, MONO_PROFILE_OK);&lt;br&gt;
Index: mono/mono/metadata/coree.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/coree.c  (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/coree.c  (working copy)&lt;br&gt;
@@ -106,20 +106,12 @@&lt;br&gt;
                        }&lt;br&gt;
                }&lt;br&gt;
&lt;br&gt;
-               if (!image) {&lt;br&gt;
-                       g_free (file_name);&lt;br&gt;
+               g_free (file_name);&lt;br&gt;
+&lt;br&gt;
+               if (!image)&lt;br&gt;
                        return FALSE;&lt;br&gt;
-               }&lt;br&gt;
&lt;br&gt;
-               /*&lt;br&gt;
-                * FIXME: Find a better way to call mono_image_fixup_vtable. Only&lt;br&gt;
-                * loader trampolines should be used and assembly loading should&lt;br&gt;
-                * probably be delayed until the first call to an exported function.&lt;br&gt;
-                */&lt;br&gt;
-               if (image-&amp;gt;tables [MONO_TABLE_ASSEMBLY].rows &amp;amp;&amp;amp; ((MonoCLIImageInfo*) image-&amp;gt;image_info)-&amp;gt;cli_cli_header.ch_vtable_fixups.rva)&lt;br&gt;
-                       assembly = mono_assembly_open (file_name, NULL);&lt;br&gt;
-&lt;br&gt;
-               g_free (file_name);&lt;br&gt;
+               mono_image_fixup_vtable (image);&lt;br&gt;
                break;&lt;br&gt;
        case DLL_PROCESS_DETACH:&lt;br&gt;
                if (lpReserved != NULL)&lt;br&gt;
@@ -198,6 +190,8 @@&lt;br&gt;
                argv [i] = g_utf16_to_utf8 (argvw [i], -1, NULL, NULL, NULL);&lt;br&gt;
        LocalFree (argvw);&lt;br&gt;
&lt;br&gt;
+       mono_image_fixup_vtable (image);&lt;br&gt;
+&lt;br&gt;
        mono_runtime_run_main (method, argc, argv, NULL);&lt;br&gt;
        mono_thread_manage ();&lt;br&gt;
&lt;br&gt;
@@ -919,8 +913,10 @@&lt;br&gt;
 void&lt;br&gt;
 mono_fixup_exe_image (MonoImage* image)&lt;br&gt;
 {&lt;br&gt;
-       if (!init_from_coree &amp;amp;&amp;amp; image &amp;amp;&amp;amp; image-&amp;gt;is_module_handle)&lt;br&gt;
+       if (!init_from_coree &amp;amp;&amp;amp; image &amp;amp;&amp;amp; image-&amp;gt;is_module_handle) {&lt;br&gt;
                MonoFixupExe ((HMODULE) image-&amp;gt;raw_data);&lt;br&gt;
+               mono_image_fixup_vtable (image);&lt;br&gt;
+       }&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
 #endif /* PLATFORM_WIN32 */&lt;br&gt;
Index: mono/mono/metadata/object.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/object.c (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/object.c (working copy)&lt;br&gt;
@@ -470,10 +470,18 @@&lt;br&gt;
        return NULL;&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
+static gpointer&lt;br&gt;
+default_vtfixup_trampoline (gpointer slot, MonoImage *image, guint32 token, guint16 type)&lt;br&gt;
+{&lt;br&gt;
+       g_assert_not_reached ();&lt;br&gt;
+       return NULL;&lt;br&gt;
+}&lt;br&gt;
+&lt;br&gt;
 static MonoTrampoline arch_create_jit_trampoline = default_trampoline;&lt;br&gt;
 static MonoJumpTrampoline arch_create_jump_trampoline = default_jump_trampoline;&lt;br&gt;
 static MonoRemotingTrampoline arch_create_remoting_trampoline = default_remoting_trampoline;&lt;br&gt;
 static MonoDelegateTrampoline arch_create_delegate_trampoline = default_delegate_trampoline;&lt;br&gt;
+static MonoVTFixupTrampoline arch_create_vtfixup_trampoline = default_vtfixup_trampoline;&lt;br&gt;
 static MonoImtThunkBuilder imt_thunk_builder = NULL;&lt;br&gt;
 #define ARCH_USE_IMT (imt_thunk_builder != NULL)&lt;br&gt;
 #if (MONO_IMT_SIZE &amp;gt; 32)&lt;br&gt;
@@ -517,6 +525,12 @@&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
 void&lt;br&gt;
+mono_install_vtfixup_trampoline (MonoVTFixupTrampoline func)&lt;br&gt;
+{&lt;br&gt;
+       arch_create_vtfixup_trampoline = func? func: default_vtfixup_trampoline;&lt;br&gt;
+}&lt;br&gt;
+&lt;br&gt;
+void&lt;br&gt;
 mono_install_imt_thunk_builder (MonoImtThunkBuilder func) {&lt;br&gt;
        imt_thunk_builder = func;&lt;br&gt;
 }&lt;br&gt;
@@ -564,6 +578,12 @@&lt;br&gt;
        return arch_create_delegate_trampoline (klass);&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
+gpointer&lt;br&gt;
+mono_runtime_create_vtfixup_trampoline (gpointer slot, MonoImage *image, guint32 token, guint16 type)&lt;br&gt;
+{&lt;br&gt;
+       return arch_create_vtfixup_trampoline (slot, image, token, type);&lt;br&gt;
+}&lt;br&gt;
+&lt;br&gt;
 static MonoFreeMethodFunc default_mono_free_method = NULL;&lt;br&gt;
&lt;br&gt;
 /**&lt;br&gt;
Index: mono/mono/metadata/class-internals.h&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/class-internals.h        (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/class-internals.h        (working copy)&lt;br&gt;
@@ -803,6 +803,7 @@&lt;br&gt;
 typedef gpointer (*MonoJumpTrampoline)       (MonoDomain *domain, MonoMethod *method, gboolean add_sync_wrapper);&lt;br&gt;
 typedef gpointer (*MonoRemotingTrampoline)       (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target);&lt;br&gt;
 typedef gpointer (*MonoDelegateTrampoline)       (MonoClass *klass);&lt;br&gt;
+typedef gpointer (*MonoVTFixupTrampoline)       (gpointer slot, MonoImage *image, guint32 token, guint16 type);&lt;br&gt;
&lt;br&gt;
 typedef gpointer (*MonoLookupDynamicToken) (MonoImage *image, guint32 token, gboolean valid_token, MonoClass **handle_class, MonoGenericContext *context);&lt;br&gt;
&lt;br&gt;
@@ -892,6 +893,9 @@&lt;br&gt;
 void&lt;br&gt;
 mono_install_delegate_trampoline (MonoDelegateTrampoline func) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
+void&lt;br&gt;
+mono_install_vtfixup_trampoline (MonoVTFixupTrampoline func) MONO_INTERNAL;&lt;br&gt;
+&lt;br&gt;
 gpointer&lt;br&gt;
 mono_lookup_dynamic_token (MonoImage *image, guint32 token, MonoGenericContext *context) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
@@ -907,6 +911,9 @@&lt;br&gt;
 gpointer&lt;br&gt;
 mono_runtime_create_delegate_trampoline (MonoClass *klass) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
+gpointer&lt;br&gt;
+mono_runtime_create_vtfixup_trampoline (gpointer slot, MonoImage *image, guint32 token, guint16 type) MONO_INTERNAL;&lt;br&gt;
+&lt;br&gt;
 void&lt;br&gt;
 mono_install_get_cached_class_info (MonoGetCachedClassInfo func) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
Index: mono/mono/metadata/image.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/image.c  (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/image.c  (working copy)&lt;br&gt;
@@ -572,10 +572,6 @@&lt;br&gt;
                        if (image-&amp;gt;modules [idx - 1]) {&lt;br&gt;
                                mono_image_addref (image-&amp;gt;modules [idx - 1]);&lt;br&gt;
                                image-&amp;gt;modules [idx - 1]-&amp;gt;assembly = image-&amp;gt;assembly;&lt;br&gt;
-#ifdef PLATFORM_WIN32&lt;br&gt;
-                               if (image-&amp;gt;modules [idx - 1]-&amp;gt;is_module_handle)&lt;br&gt;
-                                       mono_image_fixup_vtable (image-&amp;gt;modules [idx - 1]);&lt;br&gt;
-#endif&lt;br&gt;
                                /* g_print (&amp;quot;loaded module %s from %s (%p)\n&amp;quot;, module_ref, image-&amp;gt;name, image-&amp;gt;assembly); */&lt;br&gt;
                        }&lt;br&gt;
                        g_free (module_ref);&lt;br&gt;
@@ -1292,7 +1288,6 @@&lt;br&gt;
 void&lt;br&gt;
 mono_image_fixup_vtable (MonoImage *image)&lt;br&gt;
 {&lt;br&gt;
-#ifdef PLATFORM_WIN32&lt;br&gt;
        MonoCLIImageInfo *iinfo;&lt;br&gt;
        MonoPEDirEntry *de;&lt;br&gt;
        MonoVTableFixup *vtfixup;&lt;br&gt;
@@ -1301,7 +1296,10 @@&lt;br&gt;
        guint16 slot_type;&lt;br&gt;
        int slot_count;&lt;br&gt;
&lt;br&gt;
-       g_assert (image-&amp;gt;is_module_handle);&lt;br&gt;
+#ifdef PLATFORM_WIN32&lt;br&gt;
+       if (!image-&amp;gt;is_module_handle)&lt;br&gt;
+#endif&lt;br&gt;
+               g_assert_not_reached();&lt;br&gt;
&lt;br&gt;
        iinfo = image-&amp;gt;image_info;&lt;br&gt;
        de = &amp;amp;iinfo-&amp;gt;cli_cli_header.ch_vtable_fixups;&lt;br&gt;
@@ -1310,7 +1308,7 @@&lt;br&gt;
        vtfixup = (MonoVTableFixup*) mono_image_rva_map (image, de-&amp;gt;rva);&lt;br&gt;
        if (!vtfixup)&lt;br&gt;
                return;&lt;br&gt;
-&lt;br&gt;
+&lt;br&gt;
        count = de-&amp;gt;size / sizeof (MonoVTableFixup);&lt;br&gt;
        while (count--) {&lt;br&gt;
                if (!vtfixup-&amp;gt;rva || !vtfixup-&amp;gt;count)&lt;br&gt;
@@ -1320,24 +1318,26 @@&lt;br&gt;
                g_assert (slot);&lt;br&gt;
                slot_type = vtfixup-&amp;gt;type;&lt;br&gt;
                slot_count = vtfixup-&amp;gt;count;&lt;br&gt;
-               if (slot_type &amp;amp; VTFIXUP_TYPE_32BIT)&lt;br&gt;
+&lt;br&gt;
+               switch (slot_type &amp;amp; (VTFIXUP_TYPE_32BIT | VTFIXUP_TYPE_64BIT)) {&lt;br&gt;
+               case VTFIXUP_TYPE_32BIT:&lt;br&gt;
                        while (slot_count--) {&lt;br&gt;
-                               *((guint32*) slot) = (guint32) mono_marshal_get_vtfixup_ftnptr (image, *((guint32*) slot), slot_type);&lt;br&gt;
+                               *((guint32*) slot) = (guint32) mono_runtime_create_vtfixup_trampoline (slot, image, *((guint32*) slot), slot_type);&lt;br&gt;
                                slot = ((guint32*) slot) + 1;&lt;br&gt;
                        }&lt;br&gt;
-               else if (slot_type &amp;amp; VTFIXUP_TYPE_64BIT)&lt;br&gt;
+                       break;&lt;br&gt;
+               case VTFIXUP_TYPE_64BIT:&lt;br&gt;
                        while (slot_count--) {&lt;br&gt;
-                               *((guint64*) slot) = (guint64) mono_marshal_get_vtfixup_ftnptr (image, *((guint64*) slot), slot_type);&lt;br&gt;
-                               slot = ((guint32*) slot) + 1;&lt;br&gt;
+                               *((guint64*) slot) = (guint64) mono_runtime_create_vtfixup_trampoline (slot, image, *((guint64*) slot), slot_type);&lt;br&gt;
+                               slot = ((guint64*) slot) + 1;&lt;br&gt;
                        }&lt;br&gt;
-               else&lt;br&gt;
+                       break;&lt;br&gt;
+               default:&lt;br&gt;
                        g_assert_not_reached();&lt;br&gt;
+               }&lt;br&gt;
&lt;br&gt;
                vtfixup++;&lt;br&gt;
        }&lt;br&gt;
-#else&lt;br&gt;
-       g_assert_not_reached();&lt;br&gt;
-#endif&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
 static void&lt;br&gt;
@@ -1424,6 +1424,15 @@&lt;br&gt;
                return FALSE;&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
+#ifdef PLATFORM_WIN32&lt;br&gt;
+       if (image-&amp;gt;is_module_handle &amp;amp;&amp;amp; image-&amp;gt;has_entry_point &amp;amp;&amp;amp; image-&amp;gt;ref_count == 0) {&lt;br&gt;
+               /* Image will be closed by _CorDllMain. */&lt;br&gt;
+               FreeLibrary ((HMODULE) image-&amp;gt;raw_data);&lt;br&gt;
+               mono_images_unlock ();&lt;br&gt;
+               return FALSE;&lt;br&gt;
+       }&lt;br&gt;
+#endif&lt;br&gt;
+&lt;br&gt;
        loaded_images = image-&amp;gt;ref_only ? loaded_images_refonly_hash : loaded_images_hash;&lt;br&gt;
        image2 = g_hash_table_lookup (loaded_images, image-&amp;gt;name);&lt;br&gt;
        if (image == image2) {&lt;br&gt;
@@ -1435,19 +1444,6 @@&lt;br&gt;
&lt;br&gt;
        mono_images_unlock ();&lt;br&gt;
&lt;br&gt;
-#ifdef PLATFORM_WIN32&lt;br&gt;
-       if (image-&amp;gt;is_module_handle &amp;amp;&amp;amp; image-&amp;gt;has_entry_point) {&lt;br&gt;
-               mono_images_lock ();&lt;br&gt;
-               if (image-&amp;gt;ref_count == 0) {&lt;br&gt;
-                       /* Image will be closed by _CorDllMain. */&lt;br&gt;
-                       FreeLibrary ((HMODULE) image-&amp;gt;raw_data);&lt;br&gt;
-                       mono_images_unlock ();&lt;br&gt;
-                       return FALSE;&lt;br&gt;
-               }&lt;br&gt;
-               mono_images_unlock ();&lt;br&gt;
-       }&lt;br&gt;
-#endif&lt;br&gt;
-&lt;br&gt;
        mono_profiler_module_event (image, MONO_PROFILE_START_UNLOAD);&lt;br&gt;
&lt;br&gt;
        mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_ASSEMBLY, &amp;quot;Unloading image %s [%p].&amp;quot;, image-&amp;gt;name, image);&lt;br&gt;
@@ -1477,10 +1473,11 @@&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
 #ifdef PLATFORM_WIN32&lt;br&gt;
-       mono_images_lock ();&lt;br&gt;
-       if (image-&amp;gt;is_module_handle &amp;amp;&amp;amp; !image-&amp;gt;has_entry_point)&lt;br&gt;
+       if (image-&amp;gt;is_module_handle &amp;amp;&amp;amp; !image-&amp;gt;has_entry_point) {&lt;br&gt;
+               mono_images_lock ();&lt;br&gt;
                FreeLibrary ((HMODULE) image-&amp;gt;raw_data);&lt;br&gt;
-       mono_images_unlock ();&lt;br&gt;
+               mono_images_unlock ();&lt;br&gt;
+       }&lt;br&gt;
 #endif&lt;br&gt;
&lt;br&gt;
        if (image-&amp;gt;raw_buffer_used) {&lt;br&gt;
@@ -1926,10 +1923,6 @@&lt;br&gt;
                }&lt;br&gt;
&lt;br&gt;
                image-&amp;gt;files [fileidx - 1] = res;&lt;br&gt;
-#ifdef PLATFORM_WIN32&lt;br&gt;
-               if (res-&amp;gt;is_module_handle)&lt;br&gt;
-                       mono_image_fixup_vtable (res);&lt;br&gt;
-#endif&lt;br&gt;
        }&lt;br&gt;
        mono_loader_unlock ();&lt;br&gt;
        g_free (name);&lt;br&gt;
Index: mono/mono/metadata/marshal.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/marshal.c        (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/marshal.c        (working copy)&lt;br&gt;
@@ -8591,7 +8591,7 @@&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
 gpointer&lt;br&gt;
-mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type)&lt;br&gt;
+mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type, MonoMethod **wrapper_method)&lt;br&gt;
 {&lt;br&gt;
        MonoMethod *method;&lt;br&gt;
        MonoMethodSignature *sig;&lt;br&gt;
@@ -8641,9 +8641,15 @@&lt;br&gt;
                                mono_metadata_free_marshal_spec (mspecs [i]);&lt;br&gt;
                g_free (mspecs);&lt;br&gt;
&lt;br&gt;
+               *wrapper_method = method;&lt;br&gt;
                return mono_compile_method (method);&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
+       if (!(type &amp;amp; VTFIXUP_TYPE_CALL_MOST_DERIVED)) {&lt;br&gt;
+               wrapper_method = NULL;&lt;br&gt;
+               return mono_compile_method (method);&lt;br&gt;
+       }&lt;br&gt;
+&lt;br&gt;
        sig = mono_method_signature (method);&lt;br&gt;
        mb = mono_mb_new (method-&amp;gt;klass, method-&amp;gt;name, MONO_WRAPPER_MANAGED_TO_MANAGED);&lt;br&gt;
&lt;br&gt;
@@ -8651,16 +8657,14 @@&lt;br&gt;
        for (i = 0; i &amp;lt; param_count; i++)&lt;br&gt;
                mono_mb_emit_ldarg (mb, i);&lt;br&gt;
&lt;br&gt;
-       if (type &amp;amp; VTFIXUP_TYPE_CALL_MOST_DERIVED)&lt;br&gt;
-               mono_mb_emit_op (mb, CEE_CALLVIRT, method);&lt;br&gt;
-       else&lt;br&gt;
-               mono_mb_emit_op (mb, CEE_CALL, method);&lt;br&gt;
+       mono_mb_emit_op (mb, CEE_CALLVIRT, method);&lt;br&gt;
        mono_mb_emit_byte (mb, CEE_RET);&lt;br&gt;
&lt;br&gt;
        mb-&amp;gt;dynamic = 1;&lt;br&gt;
        method = mono_mb_create_method (mb, sig, param_count);&lt;br&gt;
        mono_mb_free (mb);&lt;br&gt;
&lt;br&gt;
+       *wrapper_method = method;&lt;br&gt;
        return mono_compile_method (method);&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
Index: mono/mono/metadata/marshal.h&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/metadata/marshal.h        (revision 145149)&lt;br&gt;
+++ mono/mono/metadata/marshal.h        (working copy)&lt;br&gt;
@@ -199,7 +199,7 @@&lt;br&gt;
 mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass, MonoObject **this_loc) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
 gpointer&lt;br&gt;
-mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type) MONO_INTERNAL;&lt;br&gt;
+mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type, MonoMethod **wrapper_method) MONO_INTERNAL;&lt;br&gt;
&lt;br&gt;
 MonoMethod *&lt;br&gt;
 mono_marshal_get_icall_wrapper (MonoMethodSignature *sig, const char *name, gconstpointer func, gboolean check_exceptions) MONO_INTERNAL;&lt;br&gt;
Index: mono/mono/mini/mini.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/mini/mini.c       (revision 145149)&lt;br&gt;
+++ mono/mono/mini/mini.c       (working copy)&lt;br&gt;
@@ -5058,6 +5058,7 @@&lt;br&gt;
        mono_install_jump_trampoline (mono_create_jump_trampoline);&lt;br&gt;
        mono_install_remoting_trampoline (mono_jit_create_remoting_trampoline);&lt;br&gt;
        mono_install_delegate_trampoline (mono_create_delegate_trampoline);&lt;br&gt;
+       mono_install_vtfixup_trampoline (mono_create_vtfixup_trampoline);&lt;br&gt;
        mono_install_create_domain_hook (mini_create_jit_domain_info);&lt;br&gt;
        mono_install_free_domain_hook (mini_free_jit_domain_info);&lt;br&gt;
 #endif&lt;br&gt;
Index: mono/mono/mini/mini.h&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/mini/mini.h       (revision 145149)&lt;br&gt;
+++ mono/mono/mini/mini.h       (working copy)&lt;br&gt;
@@ -827,6 +827,7 @@&lt;br&gt;
        MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING,&lt;br&gt;
        MONO_TRAMPOLINE_MONITOR_ENTER,&lt;br&gt;
        MONO_TRAMPOLINE_MONITOR_EXIT,&lt;br&gt;
+       MONO_TRAMPOLINE_VTFIXUP,&lt;br&gt;
 #ifdef ENABLE_LLVM&lt;br&gt;
        MONO_TRAMPOLINE_LLVM_VCALL,&lt;br&gt;
 #endif&lt;br&gt;
@@ -1482,6 +1483,7 @@&lt;br&gt;
 gpointer          mono_create_monitor_enter_trampoline (void) MONO_INTERNAL;&lt;br&gt;
 gpointer          mono_create_monitor_exit_trampoline (void) MONO_INTERNAL;&lt;br&gt;
 gpointer          mono_create_static_rgctx_trampoline (MonoMethod *m, gpointer addr) MONO_INTERNAL;&lt;br&gt;
+gpointer          mono_create_vtfixup_trampoline (gpointer slot, MonoImage *image, guint32 token, guint16 type) MONO_INTERNAL;&lt;br&gt;
 gpointer          mono_create_llvm_vcall_trampoline (MonoMethod *method) MONO_INTERNAL;&lt;br&gt;
 MonoVTable*       mono_find_class_init_trampoline_by_addr (gconstpointer addr) MONO_INTERNAL;&lt;br&gt;
 guint32           mono_find_rgctx_lazy_fetch_trampoline_by_addr (gconstpointer addr) MONO_INTERNAL;&lt;br&gt;
Index: mono/mono/mini/mini-trampolines.c&lt;br&gt;
===================================================================&lt;br&gt;
--- mono/mono/mini/mini-trampolines.c   (revision 145149)&lt;br&gt;
+++ mono/mono/mini/mini-trampolines.c   (working copy)&lt;br&gt;
@@ -6,6 +6,8 @@&lt;br&gt;
 #include &amp;lt;mono/metadata/metadata-internals.h&amp;gt;&lt;br&gt;
 #include &amp;lt;mono/metadata/marshal.h&amp;gt;&lt;br&gt;
 #include &amp;lt;mono/metadata/tabledefs.h&amp;gt;&lt;br&gt;
+#include &amp;lt;mono/metadata/assembly.h&amp;gt;&lt;br&gt;
+#include &amp;lt;mono/metadata/cil-coff.h&amp;gt;&lt;br&gt;
 #include &amp;lt;mono/utils/mono-counters.h&amp;gt;&lt;br&gt;
&lt;br&gt;
 #ifdef HAVE_VALGRIND_MEMCHECK_H&lt;br&gt;
@@ -779,6 +781,67 @@&lt;br&gt;
        mono_monitor_exit (obj);&lt;br&gt;
 }&lt;br&gt;
&lt;br&gt;
+static gpointer&lt;br&gt;
+mono_vtfixup_trampoline (gssize *regs, guint8 *code, guint8 *slot_info, guint8* tramp)&lt;br&gt;
+{&lt;br&gt;
+       gpointer tramp_addr;&lt;br&gt;
+       gpointer slot, slot_addr;&lt;br&gt;
+       MonoImage *image;&lt;br&gt;
+       guint32 token;&lt;br&gt;
+       guint16 type;&lt;br&gt;
+       gpointer addr;&lt;br&gt;
+       MonoMethod *wrapper_method;&lt;br&gt;
+       MonoImageOpenStatus status;&lt;br&gt;
+&lt;br&gt;
+       tramp_addr = *((gpointer*) (gpointer) slot_info);&lt;br&gt;
+       slot_info += sizeof (gpointer);&lt;br&gt;
+       slot = *((gpointer*) (gpointer) slot_info);&lt;br&gt;
+       slot_info += sizeof (gpointer);&lt;br&gt;
+       image = *((gpointer*) (gpointer) slot_info);&lt;br&gt;
+       slot_info += sizeof (gpointer);&lt;br&gt;
+       token = *((guint32*) (gpointer) slot_info);&lt;br&gt;
+       slot_info += sizeof (guint32);&lt;br&gt;
+       type = *((guint16*) (gpointer) slot_info);&lt;br&gt;
+&lt;br&gt;
+       if (type &amp;amp; VTFIXUP_TYPE_64BIT)&lt;br&gt;
+               slot_addr = (gpointer) *((volatile gint64*) (slot));&lt;br&gt;
+       else&lt;br&gt;
+               slot_addr = (gpointer) *((volatile gint32*) (slot));&lt;br&gt;
+&lt;br&gt;
+       if (slot_addr != tramp_addr)&lt;br&gt;
+               return slot_addr;&lt;br&gt;
+&lt;br&gt;
+       if (!image-&amp;gt;assembly) {&lt;br&gt;
+               /* Open image to increment LoadLibrary reference count */&lt;br&gt;
+               g_assert (image == mono_image_open_full (image-&amp;gt;name, NULL, FALSE));&lt;br&gt;
+&lt;br&gt;
+               /* FIXME: Throw exceptions when assembly cannot be loaded */&lt;br&gt;
+               /* FIXME: Fix mono_assembly_load_from_full to allow loading mscorlib.dll */&lt;br&gt;
+               g_assert (mono_assembly_load_from_full (image, image-&amp;gt;name, &amp;amp;status, FALSE));&lt;br&gt;
+&lt;br&gt;
+               /* Release temporary reference */&lt;br&gt;
+               mono_image_close (image);&lt;br&gt;
+       }&lt;br&gt;
+&lt;br&gt;
+       addr = mono_marshal_get_vtfixup_ftnptr (image, token, type, &amp;amp;wrapper_method);&lt;br&gt;
+       if (type &amp;amp; VTFIXUP_TYPE_64BIT)&lt;br&gt;
+#if SIZEOF_VOID_P == 8&lt;br&gt;
+               slot_addr = InterlockedCompareExchangePointer (slot, addr, tramp_addr);&lt;br&gt;
+#else&lt;br&gt;
+               slot_addr = (gpointer) ves_icall_System_Threading_Interlocked_CompareExchange_Long ((gint64*) slot, (gint64) addr, (gint64) tramp_addr);&lt;br&gt;
+#endif&lt;br&gt;
+       else&lt;br&gt;
+               slot_addr = (gpointer) InterlockedCompareExchange ((gint32*) slot, (gint32) addr, (gint32) tramp_addr);&lt;br&gt;
+&lt;br&gt;
+       if (slot_addr == tramp_addr)&lt;br&gt;
+               return addr;&lt;br&gt;
+&lt;br&gt;
+       if (wrapper_method)&lt;br&gt;
+               mono_free_method (wrapper_method);&lt;br&gt;
+&lt;br&gt;
+       return slot_addr;&lt;br&gt;
+}&lt;br&gt;
+&lt;br&gt;
 #ifdef MONO_ARCH_HAVE_CREATE_DELEGATE_TRAMPOLINE&lt;br&gt;
&lt;br&gt;
 /**&lt;br&gt;
@@ -922,6 +985,8 @@&lt;br&gt;
                return mono_monitor_enter_trampoline;&lt;br&gt;
        case MONO_TRAMPOLINE_MONITOR_EXIT:&lt;br&gt;
                return mono_monitor_exit_trampoline;&lt;br&gt;
+       case MONO_TRAMPOLINE_VTFIXUP:&lt;br&gt;
+               return mono_vtfixup_trampoline;&lt;br&gt;
 #ifdef ENABLE_LLVM&lt;br&gt;
        case MONO_TRAMPOLINE_LLVM_VCALL:&lt;br&gt;
                return mono_llvm_vcall_trampoline;&lt;br&gt;
@@ -956,6 +1021,7 @@&lt;br&gt;
        mono_trampoline_code [MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING);&lt;br&gt;
        mono_trampoline_code [MONO_TRAMPOLINE_MONITOR_ENTER] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_MONITOR_ENTER);&lt;br&gt;
        mono_trampoline_code [MONO_TRAMPOLINE_MONITOR_EXIT] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_MONITOR_EXIT);&lt;br&gt;
+       mono_trampoline_code [MONO_TRAMPOLINE_VTFIXUP] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_VTFIXUP);&lt;br&gt;
 #ifdef ENABLE_LLVM&lt;br&gt;
        mono_trampoline_code [MONO_TRAMPOLINE_LLVM_VCALL] = mono_arch_create_trampoline_code (MONO_TRAMPOLINE_LLVM_VCALL);&lt;br&gt;
 #endif&lt;br&gt;
@@ -1280,7 +1346,31 @@&lt;br&gt;
 #endif&lt;br&gt;
        return code;&lt;br&gt;
 }&lt;br&gt;
-&lt;br&gt;
+&lt;br&gt;
+gpointer&lt;br&gt;
+mono_create_vtfixup_trampoline (gpointer slot, MonoImage *image, guint32 token, guint16 type)&lt;br&gt;
+{&lt;br&gt;
+       gpointer tramp;&lt;br&gt;
+&lt;br&gt;
+       MonoDomain *domain = mono_get_root_domain ();&lt;br&gt;
+       guint8 *buf, *start;&lt;br&gt;
+&lt;br&gt;
+       buf = start = mono_domain_code_reserve (domain, 3 * sizeof (gpointer) + sizeof (guint32) + sizeof (guint16));&lt;br&gt;
+&lt;br&gt;
+       buf += sizeof (gpointer);&lt;br&gt;
+       *(gpointer*) (gpointer) buf = slot;&lt;br&gt;
+       buf += sizeof (gpointer);&lt;br&gt;
+       *(gpointer*) (gpointer) buf = image;&lt;br&gt;
+       buf += sizeof (gpointer);&lt;br&gt;
+       *(guint32*) (gpointer) buf = token;&lt;br&gt;
+       buf += sizeof (guint32);&lt;br&gt;
+       *(guint16*) (gpointer) buf = type;&lt;br&gt;
+&lt;br&gt;
+       tramp = mono_create_specific_trampoline (start, MONO_TRAMPOLINE_VTFIXUP, domain, NULL);&lt;br&gt;
+       *(gpointer*) (gpointer) start = tramp;&lt;br&gt;
+       return tramp;&lt;br&gt;
+}&lt;br&gt;
+&lt;br&gt;
 #ifdef ENABLE_LLVM&lt;br&gt;
 /*&lt;br&gt;
  * mono_create_llvm_vcall_trampoline:&lt;br&gt;
&lt;br&gt;_______________________________________________&lt;br&gt;
Mono-devel-list mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614000&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26614000&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Use-trampolines-for-vtable-fixups-%28Windows%29-tp26152442p26614000.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26613940</id>
	<title>Re: crashes while executing	System.Buffer.BlockCopyInternal</title>
	<published>2009-12-02T10:29:06Z</published>
	<updated>2009-12-02T10:29:06Z</updated>
	<author>
		<name>Miguel de Icaza-2</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;&amp;gt; No, could you fill a bug report on this to avoid getting it lost on
&lt;br&gt;&amp;gt; the mailing list archives?
&lt;br&gt;&lt;br&gt;I spoke today with Daniel on the phone and looked at these errors;
&lt;br&gt;Sadly with the information posted there is not much that we can do to
&lt;br&gt;find the problem.
&lt;br&gt;&lt;br&gt;I have asked Daniel to provide us with a self-contained test case.
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613940&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/crashes-while-executing-System.Buffer.BlockCopyInternal-tp26406964p26613940.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26613709</id>
	<title>Re: crashes while executing System.Buffer.BlockCopyInternal</title>
	<published>2009-12-02T10:14:48Z</published>
	<updated>2009-12-02T10:14:48Z</updated>
	<author>
		<name>Rodrigo Kumpera</name>
	</author>
	<content type="html">No, could you fill a bug report on this to avoid getting it lost on the mailing list archives?&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 24, 2009 at 6:16 AM, Daniel Weuthen &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613709&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;daniel.weuthen-ml@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;Hi Rodrigo,&lt;br&gt;
&lt;br&gt;
anything new about this one?&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;
--&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;regards&lt;br&gt;
&lt;br&gt;
Daniel Weuthen&lt;br&gt;
_______________________________________________&lt;br&gt;
Mono-devel-list mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613709&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Mono-devel-list mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26613709&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mono-devel-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/mono-devel-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/mono-devel-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/crashes-while-executing-System.Buffer.BlockCopyInternal-tp26406964p26613709.html" />
</entry>

</feed>
