Hi, # Introduction
I've started some initial work to get a working GDC crosscompiler targeting ARM platforms. Currently I'm able to compile the toolchain and produce a working "Hello World!" binary that I'm able to execute on my BeagleBoard developement platform with ArchLinux installed. The generated assembly looks sane, unfortunately the program hangs, but I'm able to debug it in gdb and I see it loops somewhere at: 2261 in /home/dpc/lab/d-cross/test-tc-1/.build/src/gcc-4.6.2/libphobos/gc/gcx.d => 0x2f950 <_D2gc3gcx2GC6mallocMFkkPkZPv+648>: str r2, [r4, r9, lsl #2] I'm going to investigate this and possibly fix with time. Anyone interested in getting this to work seamlessly is kindly requested to join efforts and share the results. # How to compile There's a crosstool-ng tool that is a great way to assemble and build (cross-)toolchains. I've added some hacks to integrate the gdc repository and thus add a gdc support. I've pushed the forked crosstools-ng here: https://bitbucket.org/xdpcx/crosstool-ng-dlang/ (I prefer git, but original crosstools-ng is using hg, so I sticked with it). Grab that code and learn to how to use ct-ng. Basically installing crosstool-ng it's just a metter of downloading and doing: ./bootstrap ./configure make make install (I use `./configure --prefix="$HOME/opt"` for home-local configuration.) This will give you `ct-ng` command that you can use in any directory cd ~/my/toolchain/buildir mkdir src cp ~/config/that/i/prepared/for/you/config .config ct-ng menuconfig ct-ng build ls arm-none-linux-eabi I attach the mentioned config. Actually, as I don't know how to attach it I've put it here: http://pastebin.ca/2121043 If anyone is interested I could upload the compiled binaries somewhere, as the toolchain is static. Regards, Dawid Ciężarkiewicz