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