Adding ARM Cross generation patch to gcc and binutils specfiles

Andy Green andy at warmcat.com
Fri Dec 24 12:43:25 UTC 2010


Hi -

Building on the work of Lennert Buytenhek and David Woodhouse I recently 
uplevelled the spec files for gcc and binutils they did for gcc-4.1.2 
and binutils-2.17.50.0.18 to work with recent rawhide gcc and binutils.

The goal of the spec changes is to allow rpmbuild to also build cross 
gcc and binutils packages which can co-exist with the normal host ones, 
it makes it easy then to build cross kernels or bootloaders which may 
otherwise be difficult when your native system doesn't work yet ^^

The patched spec files need to be built like this:

$ rpmbuild -ba --define "binutils_target armv5tel-redhat-linux-gnueabi"
rpmbuild/SPECS/gcc.spec
# rpm -i
rpmbuild/RPMS/x86_64/armv5tel-redhat-linux-gnueabi-binutils-2.20.51.0.12-2.fc15.x86_64.rpm
$ rpmbuild -ba --define="cross_target armv5tel-redhat-linux-gnueabi"
rpmbuild/SPECS/gcc.spec

The binutils patch is simple and small (against 
binutils-2.20.51.0.12-2.fc15):

http://warmcat.com/binutils-cross12.diff

The gcc patch (against gcc-4.5.1-5.fc15):

http://warmcat.com/gcc-cross12.diff

is not small or selfcontained and may have some rough edges, but it 
works to build functional cross packages that don't conflict with the 
host install so its heart is at least in the right place or, best from 
my point of view, the patch can be cleaned and merged with the normal 
gcc spec.

I see Hans looks after arm-gp2x-linux-gcc which is also stuck in a 
gcc-4.1.2 timewarp that maybe my uplevelled patch can also help.

Maybe Jakub and Hans could eyeball the patches and see if there is a 
path to allowing cross packages going on just by rebuilding with the 
right rpmbuild parameters.

-Andy


More information about the devel mailing list