4 ms·
Yes, understood. What I don't know is how much D-specific work is needed in the gcc backend per-target-triple. If it's a small amount of work, and the only th
by jjnoakes 9y ago
Yes, understood. What I don't know is how much D-specific work is needed in the gcc backend per-target-triple.
If it's a small amount of work, and the only thing really preventing it is wider adoption, this news may be the kick that it needs.
If it's a large amount of work, then this news likely won't change much.
- jpf91 9y agoLikely none. Well, I guess that's kind of an oversimplification though so here's the detailed story: We require some per-target integration to provide correct version(ARM), version(linux) statements in D code and we need to know the size of a mutex on the target system. Iain is currently rewriting this code here: https://github.com/D-Programming-GDC/GDC/pull/500 https://github.com/D-Programming-GDC/GDC/pull/500 However, we already provide and the new, rewritten code will continue to provide this integration for many targets. For example, all debian targets should be working: https://packages.debian.org/experimental/gdc https://packages.debian.org/experimental/gdc The main problem with architecture support is porting the runtime library and phobos. Here ARM is supported, MIPS and PPC has seen some work from LDC devs but making this work fully on GDC might require some small changes, MinGW is broken (and was never fully supported). One caveat thought is that all D compilers mainly target 32 or 64 bit systems. So things won't just work without changes for 8bit targets, although we've seen proof of concept D code on 8bit and 16bit CPUs as well.
- jjnoakes 9y agoGlad to hear there's work in progress. Last time I tried to configure gcc + gdc on AIX on PowerPC, I found out it was explicitly disabled in the configure script, and I didn't dig any deeper to find out why or the potential work involved.
- jpf91 9y agoI guess that was quite some time ago? Back then we had a shell script hack that was called by the GCC configure script and parsed the target triplet to set these versions. Fortunately that's long gone and we now simply add some D specific code to the platform configuration files in gcc/config/ . The shell script hack would have never passed the GCC review ;-)
- nialv7 9y agoI think at least the druntime will need to be ported.