Thread overview | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
September 06, 2011 D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Hi! 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? |
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to lurker57 | On 2011-09-06 16:21, lurker57 wrote: > Hi! > > 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? > DMD currently only supports X86 and X86-64 platforms. I don't know about ldc or gdc (the DMD front end on the LLVM and GCC backend). The backends support ARM but the runtime needs to support ARM as well. -- /Jacob Carlborg |
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to lurker57 | > 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.
I think the GC is problematic, thus you also have to avoid most of phobos.
|
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | "Trass3r" <un@known.com> wrote in message news:op.v1edf3bj3ncmek@enigma... >> 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. > I think the GC is problematic, thus you also have to avoid most of phobos. For a language that aims at C/C++'s domain, it's extremely depressing that this is still the case. I *really* think this needs to be one of D's top priorities at this point. I honestly see it as D's #1 biggest glaring hole ATM (Honestly, I've always cared about embedded/non-x86 processors *far* more than the native 64-bit support that got enormous attention awhile back). 'Course I'm kinda just blowing smoke out my ass since I unfortunately have neither the time nor ability to help tackle this goal :( |
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | > For a language that aims at C/C++'s domain, it's extremely depressing that this is still the case. I *really* think this needs to be one of D's top
> priorities at this point. I honestly see it as D's #1 biggest glaring hole
We have much bigger problems that need attention.
And there's nothing preventing the few people demanding ARM support from patching druntime etc. and creating a pull request to add it.
The thing is that simply nobody wants to do the dirty base work.
|
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Trass3r | 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. -- Johannes Pfau |
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johannes Pfau | > 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
Did you ever try with LDC?
|
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | Nick Sabalausky:
> I *really* think this needs to be one of D's top priorities at this point.
In my opinion at the moment one of the highest priorities of D (maybe _the_ top one) is to find a ways to improve and speed up the process of reviewing, fixing and applying pull requests for DMD/Phobos.
Bye,
bearophile
|
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johannes Pfau Attachments:
| On Tue, Sep 6, 2011 at 2:25 PM, Johannes Pfau <spam@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.
|
September 06, 2011 Re: D on other platforms than Win,Lin,Mac? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky Attachments:
| On Tue, Sep 6, 2011 at 1:51 PM, Nick Sabalausky <a@a.a> wrote:
> "Trass3r" <un@known.com> wrote in message news:op.v1edf3bj3ncmek@enigma...
> >> 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.
> > I think the GC is problematic, thus you also have to avoid most of
> phobos.
>
> For a language that aims at C/C++'s domain, it's extremely depressing that
> this is still the case. I *really* think this needs to be one of D's top
> priorities at this point. I honestly see it as D's #1 biggest glaring hole
> ATM (Honestly, I've always cared about embedded/non-x86 processors *far*
> more than the native 64-bit support that got enormous attention awhile
> back). 'Course I'm kinda just blowing smoke out my ass since I
> unfortunately
> have neither the time nor ability to help tackle this goal :(
>
>
The problem is that the most direct way to do this is to use a compiler backend that isn't Digital Mars, and there's far fewer people working on other backends. This is why I asked whether anything had happened with GCC inclusion a while back. If that could happen, D would get a large leap forward in this area.
I agree that a systems language that only works on x86/x86_64 is a depressing concept, and I think it's about to become unacceptable in the next few years.
|
Copyright © 1999-2021 by the D Language Foundation