<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>

<p style="margin-bottom: 0cm">Hi guys,</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">there is a documentation of how to
compile Mono for ARM at <a href="http://www.mono-project.com/Mono:ARM">http://www.mono-project.com/Mono:ARM</a>.
Unfortunately, this guide is totally outdated.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">I am using scratchbox2 instead of
scratchbox. It would be nice if the documentation would be updated
accordingly. There are lot's of undocumented pitfalls when trying to
compile Mono for the ARM platform.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">I tried compiling the native part in
scratchbox2 as follows:</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">  ./autogen.sh –disable-mcs-build
–host=arm-none-linux-gnueabi</p>
<p style="margin-bottom: 0cm">  make „CFLAGS=-DARM_FPU_VFP“|tee
build.log</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">Compilation stops at
./libgc/pthread_support.c and complains about some missing symbols.
They are declared starting at line 218 as follows:</p>
<pre class="western">static pthread_t main_pthread_self;</pre>
<div id="LC219" dir="LTR">
        <pre class="western">static void *main_stack, *main_altstack;</pre>
</div>
<div id="LC220" dir="LTR">
        <pre class="western">static int main_stack_size, main_altstack_size;</pre>
</div>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">There are lot's of #define statements
above which cause these declarations to be ignored. To resolve those
problems I've moved the above lines up to line 85. After that, Mono
compiles as expected and works like a charm on a Cortex-A9.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">Maybe someone more familar with the
native part of Mono should take a look into the problem and fix it according to my suggestion.</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm"><br>
</p>
<p style="margin-bottom: 0cm">Greetings,</p>
<p style="margin-bottom: 0cm">Martin</p>
                                          </div></body>
</html>