[PATCH] cross-compilation for binutils.

David Woodhouse dwmw2 at infradead.org
Sat Jul 5 13:32:25 UTC 2008


On Sat, 2008-07-05 at 14:53 +0200, Enrico Scholz wrote:
> David Woodhouse <dwmw2 at infradead.org> writes:
> 
> > -CARGS=--enable-targets=i386-linux
> > +case %{binutils_target} in
> > +    sparc*|ppc*|s390*)
> > +       CARGS=--enable-64-bit-bfd
> > +       ;;
> > +    ia64*)
> > +        CARGS=--enable-targets=i386-linux
> > +       ;;
> > +esac
> 
> Something like
> 
> | --enable-targets=%_host
> 
> should be added everytime to allow e.g. 'strip' to work on both native
> and on target binaries.  This is required when building cross-rpms which
> are providing target and native binaries.

Is it really? You already have to use the appropriate compiler and
linker for native vs. target binaries -- why can't you use the
appropriate version of 'strip', too?

And even if you _do_ need it, it sounds like that's a job for a
'binutils-multi' configured with --enable-targets=all. I'm not sure
that, e.g., my i686-redhat-linux-gcc should also be able to strip native
PowerPC binaries.

> 
> > +   SYSROOT="--with-sysroot=/usr/%{binutils_target}"
> 
> Sysroot should be '/usr/%binutils_target/sys-root' (which is the value
> assumed by gcc).  E.g. native binaries (e.g. the cross gcc) are usually
> under /usr/%binutils_target/bin and your sysroot would conflict with it.

OK, I'll fix that.

-- 
dwmw2




More information about the fedora-devel-list mailing list