Failure to boot into cross built environment (iWMMXt NPTL EABI)

Mike Frysinger
Mon Apr 24 05:40:00 GMT 2006

On Sunday 23 April 2006 23:52, Steven Newbury wrote:
> --- Mike Frysinger <> wrote:
> > On Sunday 23 April 2006 20:08, Steven Newbury wrote:
> > > Since I've got
> > > you attention I'd like to ask a question about the gcc ebuild; when a
> > > cross-<target>/gcc is installed the gcc library path gets added via
> > > LDPATH to the env.d ->, this puts incompatible libraries in
> > > the library search path which causes dynamic linking to then fail for
> > > native programs that find the alien library before the native one they
> > > seek. I assume this is not intended!  I made the LDPATH addition
> > > conditional on is_crosscompile and CHOST != CTARGET, is that OK?
> >
> > gcc-config already handles this by not inserting stuff into
> > when selecting a cross-compiler ... so having LDPATH declared
> > in /etc/env.d/gcc/CTARGET-VERSION isnt a bug
> Or rather that isn't where the bug is/was! I was getting non-native paths
> in  Hmm.

make sure you have the latest gcc-config ... ive fixed up cross-compiling 
logic in there a lot over time ... but i have about ~25 cross-compilers 
installed on my machine and havent had their non-native paths leak into my ...

> Yes, this is very true, though I did for a reason.  I use the ebuild for
> building the cross-compiler as well as the native compiler and it seemed
> the only way to get the CFLAGS respected by the build process.

for setting up the cross-compiler there is a helper 'crossdev' script which 
takes care of all the mundane details ...
# emerge crossdev
# crossdev arm-iwmmxt-linux-gnueabi

the trick for cross-compiling into ROOT is to setup a wrapper:
$ cat cmerge
export ROOT=/mnt/arm-eabi
export CFLAGS="-Os -march=iwmmxt ......"
exec emerge "$@"
$ cmerge sys-libs/glibc

For unsubscribe information see

More information about the crossgcc mailing list