There is no plan to support W^X environments in the runtime. But if you want to contribute code to support it, it would be welcome.<div><br></div><div><br></div><div><div class="gmail_quote">On Tue, May 22, 2012 at 10:01 PM, the mad mole <span dir="ltr"><<a href="mailto:madmole@gmail.com" target="_blank">madmole@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I wanted to post an update for the benefit of mono maintainers.  The kernel team of our SOC vendor was able to get (at least some of) the try-catch tests to pass (including the example below) by disabling the XI (execute inhibit, similar to x86 NX) feature, which was recently added to their MIPS core (doing some research, this appears to be part of MIPS' SmartMIPS ASE, which also includes a bunch of crypto functions).</div>


<div> </div>
<div>The speculation is that some of the jitted code is getting written to pages mapped with just PROT_READ | PROT_WRITE permissions: with XI enabled the page would need PROT_EXEC as well.  If anyone knows when this might be addressed, posting to this list would be much appreciated.</div>
<span class="HOEnZb"><font color="#888888">

<div> </div>
<div>TMM<br><br></div></font></span><div class="HOEnZb"><div class="h5">
<div class="gmail_quote">On Tue, May 15, 2012 at 6:49 PM, the mad mole <span dir="ltr"><<a href="mailto:madmole@gmail.com" target="_blank">madmole@gmail.com</a>></span> wrote:<br>
<blockquote style="BORDER-LEFT:#ccc 1px solid;MARGIN:0px 0px 0px 0.8ex;PADDING-LEFT:1ex" class="gmail_quote">
<div>I have been happily running mono 2.11.1 cross-compiled for MIPS with gcc 4.5.3-1.2.  Out of nearly 500 runtime tests, only async-exc-compilation.exe  and monitor.exe were failing (hangs).  <font face="arial,helvetica,sans-serif">Recenly our SOC vendor upgraded us </font><font face="arial,helvetica,sans-serif">from 2.6.37-2.2 to -2.8, which has caused a significant regression in functionality: 117 of the runtime tests now fail.  It appears the culprit in many of the failures is the use of try-catch.  The following simple program demonstrates the problem:</font></div>


<div> </div>
<div>using System;</div>
<div>namespace trycatch<br>{<br>    class MainClass<br>    {<br>        public static void Main (string[] args)<br>        {<br>            int[] array = new int[5] {10, 20, 30, 40, 50};<br>            try {<br>                Console.WriteLine("Entering first try clause:");<br>

            } catch {<br>                Console.WriteLine("Entering first catch clause");<br>            }<br>            try {<br>                Console.WriteLine("Entering second try clause: array[5]={0}", array[5]);<br>

            } catch {<br>                Console.WriteLine("Entering second catch clause");<br>            }<br>        }<br>    }<br>}<br></div>
<div>Before, the expected behavior was seen:</div>
<div> </div>
<div># mono trycatch.exe<br>Entering first try clause:<br>Entering second catch clause<br></div>
<div>Now, raising the exception in the second try-catch block aborts the program:</div>
<div> </div>
<div># mono trycatch.exe<br>Entering first try clause:<br>Stacktrace:</div>
<div> </div>
<div>Aborted<br></div>
<div>Has anyone seen behavior like this?  Any ideas where to start looking?</div><span><font color="#888888">
<div> </div>
<div>TMM</div>
<div> </div></font></span></blockquote></div><br>
</div></div><br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>