ARM targetting cross-toolchain with GDC
ibuclaw at ubuntu.com
Thu Feb 23 11:41:53 PST 2012
On 23 February 2012 18:03, Johannes Pfau <nospam at example.com> wrote:
> Am Thu, 23 Feb 2012 15:25:59 +0000 (UTC)
> schrieb Dawid Ciężarkiewicz <dpc at ucore.info>:
>> # 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
>> => 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:
>> # 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:
>> make install
>> (I use `./configure --prefix="$HOME/opt"` for home-local
>> This will give you `ct-ng` command that you can use in any
>> 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:
> 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.
>> Dawid Ciężarkiewicz
Does crosstools allow you to build a cross compiler for architecture X?
*(p < e ? p++ : p) = (c & 0x0f) + '0';
More information about the Digitalmars-d