Steffen Dettmer <steffen.dettmer@xxxxxxxxxxxxxx> writes: > I would like to build a cross-compiler toolchain for embedded ARM > targets (to replace arm-elf-gcc-3.4.3). > > The targets are proprietary and has some special system libraries (so > -nostdlib is used and linkerscripts). > I think gcc needs some functions from the system (such as some > malloc() for C++ operator new etc). I searched FAQ and the wiki but > did not find much information about how to compile such a compiler > toolchain. > I've read about "--with-local-prefix". Should I create some > somepath/include and copy the systems "libc" headers into it (there > are just a very few functions known from ANSI-C) and give > --with-local-prefix=somepath/include? I cannot believe that this is > really that simple. Use --with-sysroot instead. It should point to header files in include and libraries in lib. Building full cross-compiler toolchains is still harder than it should be. There is a lot of discussion of it on this list and on the crossgcc list. > I would like to play with Google Go (language). I've read that on some > platforms with gcc-4.6.0 it might work, on some not. Where do I find > more information? Would it be worth a try? > Why doesn't it work on all platforms where gcc code works? I guess > because of some dependencies to the systems? Could those be fullfilled > by writing some functions (to create threads, mutexes)? The Go library needs to know various things about the system on which it runs. It also, as you suggest, needs to be able to create threads and mutexes. Go has been ported to RTEMS so it is feasible to run it on embedded systems. Ian