Minimal D Cross Compiler

Bruce Adams tortoise_74 at yeah.who.co.uk
Wed Sep 12 15:09:34 PDT 2007


Brian Madden Wrote:

> Hi all,
> 
> I'd just like to preface this with saying that I'm sorry if this doesn't quite
> belong here, I wasn't sure where to post it, and it is a repost from the D
> group which looks like it hadn't received any activity for 2 months prior to
> my post.
> 
> A few students at the University of Pittsburgh have been gathering and coding
> up a new operating system.  We've played in C, gotten some bootable code, etc,
> but we'd really like to write this all in D (save the asm parts that need to
> be done at the low level).  We're trying to target the x86_64 architecture,
> but not everyone has 64bit machines (myself included).
> 
> We're working on building our cross compiler toolchains BUT we're running in
> to problems left and right.  Most of us are on non-windows boxen, (about half
> are on macs, the other are running linux).
> 
> I've read a few different instructions on how to compile a D cross compiler,
> however since we're writing an OS we don't need any of the standard libraries,
> just the basics.
> 
> Can anyone help walk through the steps of this.  I've been trying to combine
> two different methods (the method for just building gcc with an x86_64 target,
> and then trying to build D too), and when I finally got a build, just
> compiling the following code:
> 
> void main() {
>   return 1;
> }
> 
> The compiler barfed with the following error:
> 
> ~/bin/x86_64-pc-elf-gdc test.d
> <built-in>:0: internal compiler error: Bus error
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://gcc.gnu.org/bugs.html> for instructions.
> 
> I have tried to recompile my xcompiler since then and am having no luck (now
> I'm getting language glue errors hehe).  I figure rather than keep beating my
> head off of the wall I'd just ask if anyone else had done something similar,
> or could help out with this!
> 
> Thanks much in advance!
> 
> -Brian

This is nice meaty project idea. It will really test the mettle of both D
and hopefully demonstrate its worth to the wider world. I do hope it ends up being open source.
Getting cross gcc is quite a fraught process so if you've got that far you've already done well. I'm not sure if gdc is mature enough yet for use in a cross compiler so you will probably need to modify/fix it yourselves. Good luck.
 I'm sure many people here will be interested and willing to help but you might want to visit a cross gcc forum or two for the people with the right skills. It would be great to hear how you get on and any specific issues we might be able to help with.

Regards,

Bruce.





More information about the Digitalmars-d mailing list