Putting cross compilers into Fedora

David Woodhouse dwmw2 at infradead.org
Wed Sep 1 12:46:59 UTC 2010


On Wed, 2010-09-01 at 13:31 +0100, David Howells wrote:
> Jakub Jelinek <jakub at redhat.com> wrote:
> 
> > I hope cross Fortran and especially cross Java (or cross Ada/ObjC/ObjC++)
> > aren't needed, especially libjava builds for eons and has myriads of target
> > dependencies.
> 
> For my purposes, C is sufficient.  No one's persuaded Linus to take C++ into
> the kernel yet, except as natively-run tools (eg: make xconfig).
> 
> I don't require a userspace for kernel building, but libgcc is required on
> some arches.

I posted cross-binutils packages a *long* time ago, along with
binutils-multi, both based on the 'real' Fedora packages. Now that we're
using git and we can just pull from the main distro packages into the
cross-packages, it'll be a lot easier to track the 'real' Fedora
toolchain.

The problematic part is GCC, with its horrid incestuous dependencies --
in particular, the way you have to build everything twice because it
insists on building libgcc in the *same* pass as the one it uses to
build gcc itself, and it wants to link libgcc_s against glibc, etc.

There's a reason the 'crosstool' and similar scripts are so bloody sick.

But I don't think it's insurmountable -- I think if you provide a
*dummy* 'libc.so.6' object which provides symbols for the things that
libgcc_s needs, that ought to suffice.

I don't think we can really ship *without* libgcc_s, even if we're
leaving the rest of userspace as an exercise for the user.

There are one or two other dependency problems too, mostly hangovers
from the evil incestuous 'devo' days when we'd pull everything (even the
kernel!) into the same damn CVS repository. But I think it should be
possible to get it working sanely so we can build the cross-gcc as a
standalone package.

-- 
dwmw2



More information about the devel mailing list