On Tue, Sep 6, 2011 at 2:25 PM, Johannes Pfau <s...@example.com> wrote:
> Trass3r wrote: > >> I've heard that our company is considering the T20 from Toradex.com > >> for a new project with remote hardware. The platform runs on Nvidia > >> Tegra and Linux. > >> > >> Since I have been very impressed by the D programming language, for > >> some years now, could it be possible to use D in such projects? > > > >You'd have to use gdc or ldc and patch at least druntime. > >Some people already managed to get stuff running on ARM but it's > >tricky. > > At least for gdc only hello-world like code works. Real code hits this > issue: > > https://bitbucket.org/goshawk/gdc/issue/215/alignment-of-struct-members-wrong-on-arm > > This also applies to all platforms which aren't supported by dmd. > > > I think the GC is problematic, thus you also have to avoid > >most of phobos. > > The GC seems to work if druntime is compiled with > -fno-section-anchors , but no real testing was done. > https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm > might also be caused by bug 215. > > +1 If you're looking at an ARMv7 platform (my Tegra is ARMv7, dunno if they all are), I believe you can set the Linux kernel to handle faults caused by unaligned memory accesses, which *should* make D run with a performance hit until this bug gets fixed. Keep in mind that the library situation is largely untested, although Iain seems to have quietly done a lot of work in Druntime at some point to make it all build. Once I've got my Tegra up and running (need a serial cable - it's in the mail), I'll be able to say more.