ARM targetting cross-toolchain with GDC

Timofei Bolshakov tbolsh at gmail.com
Mon Apr 22 10:22:49 PDT 2013


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



More information about the Digitalmars-d mailing list