RFC: Move runtime hook definitions to a .di file in druntime

Mike via D.gnu d.gnu at puremagic.com
Sat Oct 11 17:12:45 PDT 2014


On Saturday, 11 October 2014 at 17:37:22 UTC, Kevin Lamonte wrote:
> On Saturday, 11 October 2014 at 06:59:33 UTC, Mike wrote:
>> Hello,
>>
>> In my continued, though stalled, effort to try and make 
>> minimal runtime for embedded systems, I've tried to find a way 
>> for users to know at compile-time if a feature of the runtime 
>> is supported or not, and more importantly, if they are 
>> explicitly or implicitly using an unsupported feature.
>
> I have started work myself on a D kernel (using gdc based on 
> 2.065 as compiler) and am going through the process of figuring 
> out how the D runtime works.  I have looked at XOMB and Adam 
> Ruppe's minimal-d, and saw the presentation online on running D 
> on ARM.
>
> I can boot and call D functions, but most of the D language 
> remains unavailable.  I am locating the various dependencies of 
> object.d(i) now, and hope to be able to soon be able to at 
> least complete a link with D code that has structs and enums.  
> I am currently using 2.065 druntime, adding only those bits of 
> object.d that the compiler is directly referencing, and 
> versioning my changes with version(BareBones).
>
> Is your work online somewhere?  Would it be OK if I took a 
> peek?  Mine just started (seriously, it is just hello world) 
> over at:  https://github.com/klamonte/cycle
>
> I would really like a micro-runtime that supports the D dialect 
> minus GC, Threads, synchronization, OS APIs, and i386/amd64 
> arch-specific things like atomic operations.  So far (crossing 
> fingers) it seems like such a thing is only about 5-10 kloc.

Sounds like you you and I are after pretty much the same thing.  
I'm not really trying to build anything, like a kernel, just yet. 
  Rather, I'm just trying to get a decent runtime built so we can 
all have a reasonably polished language to work with.

You can find my work here: 
https://github.com/JinShil/druntime_level_0.  I'm afraid it's not 
any further along then yours.  I actually became quite 
discouraged and stalled.  I'm trying to explore other options, 
hence this post.

Mike


More information about the D.gnu mailing list