Cross-compilers.

Brendan Conoboy blc at redhat.com
Mon Sep 18 17:51:25 UTC 2006


David Woodhouse wrote:
> We might want to put libgcc into a separate package for the
> cross-toolchain, unless we can _fake_ the presence of glibc. We might
> only really need a dummy DSO to link libgcc against; it doesn't actually
> have to be glibc -- it only needs about 10 symbols to be present iirc.

Would you trust a gcc built against a fake glibc?  I wouldn't.  When 
bootstrapping a glibc targeted cross compiler, my method is:

1. Create minimal sys-root with glibc-kernheaders (Haven't done this 
since the package change) plus a few fake headers that glibc would 
normally provide.

2. Create target-gcc with step 1 headers.

3. Create target-glibc sys-root with step 2.

4. Create final target-gcc with step 3.

5. Create final target-glibc with step 4.

Steps 1-3 are throw-away bits.  Placing cross compilers in Fedora does 
not require all this because the build system does not need to solve the 
chicken&egg problem.  The main problem to be solved is The Right Way 
(tm) to leverage those already-generated files that a sys-root is 
composed of.

Suggestions:

1. Repackage binary rpms as noarch rpms under a sys-root tree.

2. Modify rpm such that RPMs of different architectures can be installed 
in a sys-root tree.

3. Modify Fedora so that all headers and libraries are by default in a 
sys-root.

4. Modify something (rpm? all packages?) such that an optional sys-root 
package is emitted along with devel packages.  Sort of like debuginfo.

...

-Brendan (blc at redhat.com)




More information about the fedora-extras-list mailing list