ARM targetting cross-toolchain with GDC
dpc at ucore.info
Thu Feb 23 07:25:59 PST 2012
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:
=> 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:
(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:
(I use `./configure --prefix="$HOME/opt"` for home-local
This will give you `ct-ng` command that you can use in any
cp ~/config/that/i/prepared/for/you/config .config
I attach the mentioned config.
Actually, as I don't know how to attach it I've put it here:
If anyone is interested I could upload the compiled binaries
somewhere, as the toolchain is static.
More information about the Digitalmars-d