Hi, Dawid!
On Thursday, 23 February 2012 at 15:25:59 UTC, Dawid
Ciężarkiewicz wrote:
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
I tried to do that and build failed:
[DEBUG] ==> Executing: 'sh' './gcc/d/setup-gcc.sh'
[ALL ] This version of GCC (4.4) is not supported.
do you have somewhere corrected code / config?
If anyone is interested I could upload the compiled binaries
somewhere, as the toolchain is static.
I will greatly appreciate that!
Regards,
Dawid Ciężarkiewicz