Hitchikers Guide to Porting Phobos / D Runtime to other architectures
Mike
none at none.com
Tue Jan 7 18:54:39 PST 2014
On Wednesday, 8 January 2014 at 01:27:28 UTC, Walter Bright wrote:
> I've used this to port D to new platforms that have no druntime
> or phobos, because I need a working & tested compiler to
> compile those two.
But DMD doesn't support ARM in any flavor (Cortex-A nor Cortex-M
- thumb), and that is the platform Dwhatever and myself are
working on. Have you tried this with LDC and GDC? These
compilers are quickly improving, but their current in their
current state, it's a very different story when compared with
C/C++.
> It's not that hard. Use the -betterC switch to prevent
> ModuleInfo records and their dependencies from being emitted,
> and then you can write D code that has zero dependence on
> druntime or phobos.
As the creator of D and a significant author of the runtime, I
think you are taking a lot for granted. I think from your
perpective, it probably isn't all that hard, and certainly as I
study D and the runtime, it is becoming significantly easier.
But in comparison with C, Dwhatever is right... it's a bear, but
I don't necessarily believe that that's bad.
Mostly, it is due to the current expectations of the LDC and GDC
compiler. Currently they require a large part of the runtime,
that has no hope of every being called, just to get the simplest
thing to compile. GDC has made significant improvement here
recently, and I hope LDC will join the trend. There's some very
constructive discussion going on about this right now in other
parts of this thread.
Furthtermore, the way the D Runtime is organizized, it's quite
difficult to see the abstractions (if there are any). Putting
some weight behind this issue
(https://d.puremagic.com/issues/show_bug.cgi?id=11666) would
certainly help.
The origin of this thread was really about a porting guide; an
excellent idea! You can wait several months for me learn D and
the runtime and I'll create one, or you and the other D Runtime
authors can create one and show us just how easy it is. A simple
wiki post like this (http://wiki.osdev.org/Porting_Newlib) would
be an excellent start.
That being said, Thanks for D. I'm quite excited about this
language.
Mike
More information about the Digitalmars-d
mailing list