Thank you all!

If modifying the tool chain is the easiest way, I want to try it.
But I definitely want to avoid creating the tool chain from "bare metal".
I still prefer to reuse the existing tool chain like gcc with minimal modification.

Could you give me some guidance how to create a custom tool chain, which part I need to modify?
I am not familiar with gcc. So if I have to modify gcc, where can I get more information or documentation?

Thanks a lot!!
Yuxin

On Thu, Jun 18, 2015 at 9:50 PM, Norman Feske <norman.feske@genode-labs.com> wrote:
Hello,

> The easiest approach is possibly to create a custom tool chain, and port
> the GCC C++ library that way. I know the people behind Genode did some
> of this (http://genode.org/download/tool-chain), although I'm not sure
> how much of the C++ standard library they actually support.

more in-depth information about Genode's tool chain are provided by
Section 7.2 of the documentation [1]. In short, the tool chain is a
"bare metal" tool chain that does not depend on a C library, yet it
still supports C++ (including exceptions and runtime type information).

On Genode, the libc and STL (aka stdcxx) can be used optionally whereas
the STL depends on the libc. The libc is based on FreeBSD's libc. The
STL is GCC's version. Both libraries are available via Genode's ports
mechanism.

That said, as both the libc and stdcxx are shared libraries, they cannot
be used on the seL4 version of Genode as of now. Shared libraries don't
work on seL4 (at least on x86_32) because the system-call bindings
cannot be compiled with -fPIC.

[1] http://genode.org/documentation/genode-foundations-15-05.pdf

Best regards
Norman

--
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel