Fedora and Cross Compiling

Oliver Falk oliver at linux-kernel.at
Mon Jun 11 08:36:17 UTC 2007


On 06/09/2007 11:23 AM, Hans de Goede wrote:
> David Woodhouse wrote:
>> On Fri, 2007-06-08 at 13:56 -0600, Brendan Conoboy wrote:
>>> Building a cross binutils requires kernel headers for the target
>>> architecture.  Building gcc requires kernel headers and glibc.  There
>>> are scripts to solve the initial chicken/egg problem of where to get
>>> that glibc for a new arch.  At some point in the future gcc might not
>>> require glibc to build, but we aren't there yet.
>>
>> Before we get to actually cross-compiling something for release, it
>> would be good to get cross-compilers into Fedora.
>>
>> Making a cross-binutils package isn't hard; it's a relatively
>> modification to our existing binutils package to make it build for
>> multiple %targets.
>>
>> Making a cross-gcc package which targets linux-elf is harder, because of
>> the evil recursive dependencies to which you refer above. It would be
>> good if we could get that working though.
>>
>> Unfortunately the scripts to which you refer just 'solve' the problem by
>> throwing everything together into one huge lump and building gcc, then
>> glibc, then rebuilding gcc again. That's not really very useful for us
>> when we want the compiler and glibc to be entirely separate packages --
>> and in fact glibc would be a .$TARGET.rpm to be installed into the
>> sysroot, while the compiler is a native package.
>>
>> I haven't looked at this for a while, but IIRC we can build gcc and
>> libgcc.a directly, using 'only' header files which can be provided in
>> advance. The problem is that we have to dynamically link libgcc.so with
>> libc.so? We don't actually need a _real_ libc.so for that though, do we?
>> We could just make a dummy DSO with the functions we want, and link
>> against that? If we do that, what else still has recursive dependencies?
>>
> 
> Notice that I have spends weeks on fixing exactly the problems, with
> creating a cross compiling gcc targeting linux with glibc, described
> here to build an cross arm toolchain for the gp2x handheld for Fedora.
> 
> Please check:
> http://people.atrpms.net/~hdegoede/
> 
> For all my SRPMS / SPECS for this, with regards to solving the above
> metioned problems esp arm-gp2x-linux-gcc.spec is interesting. I think
> I've got this one nailed, so before other people start pouring time into
> this please first check my work, doing this for other linux-glibc
> targets, using Fedora sources instead of the open2x sources I'm using
> should be mostly identical. I'll gladly answer any questions.
> 
> Reviews would be welcome to, see:
> http://fedoraproject.org/wiki/SIGs/Embedded
> 
> For links to all the review tickets.

Thanks for your post Hans; Didn't knew there already is an Embedded SIG;
And also that there are already people working on good cross compilers.

So there's another cross specialist :-)

-of





More information about the fedora-devel-list mailing list