Re: what needs arm-elf-nonlinux-gcc? what needs arm-elf-nonlinux-gccgo?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux