Failure to boot into cross built environment (iWMMXt NPTL EABI)
Mon Apr 24 05:40:00 GMT 2006
On Sunday 23 April 2006 23:52, Steven Newbury wrote:
> --- Mike Frysinger <firstname.lastname@example.org> 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 -> ld.so.conf, 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 ld.so.conf
> > 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 ld.so.conf. 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 CFLAGS="-Os -march=iwmmxt ......"
exec emerge "$@"
$ cmerge sys-libs/glibc
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc