On Tuesday, 20 October 2020 at 16:58:12 UTC, Severin Teona wrote:
Hi guys.

I have a curiosity, regarding [1] - I had encountered some "undefined reference" errors when trying to link the druntime (compiled for an embedded architecture) without some implementation of the POSIX thread calls (and other stuff too).

My curiosity is what would change if I removed from the druntime everything that has to do with mutexes or threads. Would it be possible for the druntime to run and work properly on a microcontroller - where those concepts are not necessary? Could I just remove everything about synchronisation from the druntime, and classes or Garbage Collector to still work properly?

[1]: https://forum.dlang.org/post/erwfgtigvcciohllv...@forum.dlang.org

An alternative would be to link to a custom library that implements the pthreads ABI, but stubs everything out in a way that makes sense on a single-threaded microcontroller.

I wanted to do that once for another project. I never got it to work for unrelated reasons, so I can't say how well the D runtime handles it, sorry. It's probably an easier approach than maintaining your own fork of the runtime, though.

Reply via email to