I wrote some documentation on how to build a gdc cross-compiler:
http://gdcproject.org/wiki/Cross%20Compiler
For now there's only a tutorial describing how to use crosstool-NG with
gdc, but crosstool-NG already supports many different configurations:
http://gdcproject.org/wiki/Cross%20Compiler/crosstool-NG
crosstool-NG allows to build cross compilers for these architectures:
Alpha, ARM, AVR32, Blackfin, MIPS, OpenRISC/or32(+), PowerPC, s390,
SPARC, SuperH, x86
Supported C libraries: uclibc, eglibc, glibc, mingw, newlib
Supported OS: linux, windows, bare-metal
Some configurations probably won't work with gdc right now,
windows/mingw builds probably need additional patches to be usable.
crosstool-NG also allows to build canadian-cross compilers, where the
build machine != host machine != target machine.
For example this allows to build a cross compiler on Linux/x86-64 which
runs on Windows/x86 and compiles code for Linux/ARM.