<div class="gmail_quote">On Wed, Sep 7, 2011 at 2:46 AM, Johannes Pfau <span dir="ltr"><<a href="mailto:spam@example.com">spam@example.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">Andrew Wiley wrote:<br>
>On Tue, Sep 6, 2011 at 2:25 PM, Johannes Pfau <<a href="mailto:spam@example.com">spam@example.com</a>> wrote:<br>
><br>
</div><div><div></div><div class="h5">>> Trass3r wrote:<br>
>> >> I've heard that our company is considering the T20 from<br>
>> >> Toradex.com for a new project with remote hardware. The platform<br>
>> >> runs on Nvidia Tegra and Linux.<br>
>> >><br>
>> >> Since I have been very impressed by the D programming language,<br>
>> >> for some years now, could it be possible to use D in such<br>
>> >> projects?<br>
>> ><br>
>> >You'd have to use gdc or ldc and patch at least druntime.<br>
>> >Some people already managed to get stuff running on ARM but it's<br>
>> >tricky.<br>
>><br>
>> At least for gdc only hello-world like code works. Real code hits<br>
>> this issue:<br>
>><br>
>> <a href="https://bitbucket.org/goshawk/gdc/issue/215/alignment-of-struct-members-wrong-on-arm" target="_blank">https://bitbucket.org/goshawk/gdc/issue/215/alignment-of-struct-members-wrong-on-arm</a><br>
>><br>
>> This also applies to all platforms which aren't supported by dmd.<br>
>><br>
>> > I think the GC is problematic, thus you also have to avoid<br>
>> >most of phobos.<br>
>><br>
>> The GC seems to work if druntime is compiled with<br>
>> -fno-section-anchors , but no real testing was done.<br>
>> <a href="https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm" target="_blank">https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm</a><br>
>> might also be caused by bug 215.<br>
>><br>
>><br>
</div></div><div class="im">>+1<br>
><br>
>If you're looking at an ARMv7 platform (my Tegra is ARMv7, dunno if<br>
>they all are), I believe you can set the Linux kernel to handle faults<br>
>caused by unaligned memory accesses, which *should* make D run with a<br>
>performance hit until this bug gets fixed. Keep in mind that the<br>
>library situation is largely untested, although Iain seems to have<br>
>quietly done a lot of work in Druntime at some point to make it all<br>
>build. Once I've got my Tegra up and running (need a serial cable -<br>
>it's in the mail), I'll be able to say more.<br>
><br>
</div>I only had a cheap ARM5TE till now, but yesterday my PandaBoard arrived<br>
(OMAP4 / Dual Core Cortex A9 / ARM7). But the SD Card I ordered is<br>
broken, I'm waiting for a replacement now.<br>
<br>
Anyway: Are you referring to this?<br>
<a href="http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment" target="_blank">http://www.mjmwired.net/kernel/Documentation/arm/mem_alignment</a><br>
<font color="#888888"><br></font></blockquote><div><br></div><div>Yes. That won't make our OS structs match up, but it should keep alignment problems from crashing the program otherwise.</div><div><br></div><div>Also, my experience with LDC was that it doesn't have the Druntime patches it needs, but I seem to recall adding enough to get it building, then watching LDC segfault. I think they're already fixing the alignments (though I'm not familiar enough with their source to be certain that's what I was seeing), but there seems to be some other issue.</div>

</div><br>