ARM targetting cross-toolchain with GDC

Johannes Pfau nospam at example.com
Thu Feb 23 10:03:46 PST 2012


Am Thu, 23 Feb 2012 15:25:59 +0000 (UTC)
schrieb Dawid Ciężarkiewicz <dpc at ucore.info>:

> 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.

That's issue 120:
https://bitbucket.org/goshawk/gdc/issue/120/fsection-anchors-broken-on-arm

> 
> # 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

Integrating GDC with crosstools is nice. If you find the time, could
you please add a page to the GDC wiki on how to setup/use crosstool-ng?

> If anyone is interested I could upload the compiled binaries
> somewhere, as the toolchain is static.
> 
> Regards,
> Dawid Ciężarkiewicz




More information about the Digitalmars-d mailing list