Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
January 10, 2017 Re: GDC guys, can this toolchain support D? | ||||
---|---|---|---|---|
| ||||
On 10 January 2017 at 09:22, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > Can any of the GDC guys comment on how difficult it would be to get this toolchain build script to include building GDC? > > https://github.com/SaturnSDK/Saturn-SDK-GCC-SH2 > > I have a mate who's hacking on the Saturn and wants to build one of my > projects. > It'd be a really great test for embedded D; fairly small realtime target. I > expect binary size to be a problem ;) Debian already has builds for SH4, there's just no druntime support. https://goo.gl/dznZIF But getting druntime working on it should be trivial enough. - Fix core.stdc.* to handle the arch-specific bits for SH (just copy from C headers). - There's threadasm.S if you want to implement native fiber support, otherwise you can fall back to ucontext_t. Does double == float on this platform? That might be interesting... |
January 11, 2017 Re: GDC guys, can this toolchain support D? | ||||
---|---|---|---|---|
| ||||
Attachments:
| On 10 January 2017 at 19:04, Iain Buclaw via Digitalmars-d < digitalmars-d@puremagic.com> wrote: > On 10 January 2017 at 09:22, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > > Can any of the GDC guys comment on how difficult it would be to get this toolchain build script to include building GDC? > > > > https://github.com/SaturnSDK/Saturn-SDK-GCC-SH2 > > > > I have a mate who's hacking on the Saturn and wants to build one of my > > projects. > > It'd be a really great test for embedded D; fairly small realtime > target. I > > expect binary size to be a problem ;) > > Debian already has builds for SH4, there's just no druntime support. > Cool. Obviously, this is an SH2 toolchain, and it's baremetal, not linux. Not sure what c-runtime it uses, but probably not glibc. https://goo.gl/dznZIF > > But getting druntime working on it should be trivial enough. > I'm looking for just the BetterC experience, but druntime still seems somewhat necessary... what parts need to be implemented for BetterC to work well? - Fix core.stdc.* to handle the arch-specific bits for SH (just copy > from C headers). > - There's threadasm.S if you want to implement native fiber support, > otherwise you can fall back to ucontext_t. > I expect existing SH4 code should be mostly compatible, and a good headstart. Doesn't sound too bad. I'm not using fibers though. Does double == float on this platform? That might be interesting... > I think SH2 supports double, but it would be terminally slow... Is there a way to force double == float? What would that do to D? |
January 11, 2017 Re: GDC guys, can this toolchain support D? | ||||
---|---|---|---|---|
| ||||
Attachments:
| On 11 January 2017 at 11:40, Manu <turkeyman@gmail.com> wrote:
> On 10 January 2017 at 19:04, Iain Buclaw via Digitalmars-d < digitalmars-d@puremagic.com> wrote:
>
>>
>> Does double == float on this platform? That might be interesting...
>>
>
> I think SH2 supports double, but it would be terminally slow... Is there a way to force double == float? What would that do to D?
>
Ah crap, the SH2-A has an FPU, SH2 does not... no FPU... will GDC work at all with no FPU?
|
January 11, 2017 Re: GDC guys, can this toolchain support D? | ||||
---|---|---|---|---|
| ||||
On 11 January 2017 at 02:50, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>
>
> On 11 January 2017 at 11:40, Manu <turkeyman@gmail.com> wrote:
>>
>> On 10 January 2017 at 19:04, Iain Buclaw via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>>>
>>>
>>> Does double == float on this platform? That might be interesting...
>>
>>
>> I think SH2 supports double, but it would be terminally slow... Is there a way to force double == float? What would that do to D?
>
>
> Ah crap, the SH2-A has an FPU, SH2 does not... no FPU... will GDC work at all with no FPU?
The compiler doesn't use FPU itself, if that's what your asking (longdouble is not native internally).
|
January 11, 2017 Re: GDC guys, can this toolchain support D? | ||||
---|---|---|---|---|
| ||||
On 11 January 2017 at 02:40, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On 10 January 2017 at 19:04, Iain Buclaw via Digitalmars-d <digitalmars-d@puremagic.com> wrote: >> >> On 10 January 2017 at 09:22, Manu via Digitalmars-d <digitalmars-d@puremagic.com> wrote: >> > Can any of the GDC guys comment on how difficult it would be to get this toolchain build script to include building GDC? >> > >> > https://github.com/SaturnSDK/Saturn-SDK-GCC-SH2 >> > >> > I have a mate who's hacking on the Saturn and wants to build one of my >> > projects. >> > It'd be a really great test for embedded D; fairly small realtime >> > target. I >> > expect binary size to be a problem ;) >> >> Debian already has builds for SH4, there's just no druntime support. > > > Cool. Obviously, this is an SH2 toolchain, and it's baremetal, not linux. Not sure what c-runtime it uses, but probably not glibc. > >> https://goo.gl/dznZIF >> >> But getting druntime working on it should be trivial enough. > > > I'm looking for just the BetterC experience, but druntime still seems somewhat necessary... what parts need to be implemented for BetterC to work well? > >> - Fix core.stdc.* to handle the arch-specific bits for SH (just copy >> from C headers). >> - There's threadasm.S if you want to implement native fiber support, >> otherwise you can fall back to ucontext_t. > > > I expect existing SH4 code should be mostly compatible, and a good > headstart. > Doesn't sound too bad. I'm not using fibers though. > >> Does double == float on this platform? That might be interesting... > > > I think SH2 supports double, but it would be terminally slow... Is there a way to force double == float? What would that do to D? Looking at the -march configurations, compile with the -m2a-single-only flag. I don't think it would affect the compiler in any way, but I can't test that on compiler explorer because the sh4 compiler was built only to support sh4 and sh4-no-fpu. You can play around with -m4-no-fpu here: https://goo.gl/0vmt9v I expect there to be no surprises unless you try to import anything. |
Copyright © 1999-2021 by the D Language Foundation