On 04.11.2014 19:02, Pierre Ossman wrote:
A lot of stuff is *not* straight forward to cross compile. Coreutils ,for instance, can be a pain.
Whats the confusion? The final-gcc is pretty straight forward :-)
I would use something like this:
export PATH=/bootstrap/bin:$PATH
./configure --target=i686-pc-linux-gnu --prefix=/bootstrap
--with-gmp=/bootstrap --with-mpfr=... --with-mpc=...
--with-sysroot=/sysroot
--enable-__cxa_atexit
--enable-languages=c,c++
I may be explaining things improperly. The above would give me a gcc
that cross compiles from the host system to i686-pc-linux-gnu, right?
Otherwise specifying --with-gmp=/bootstrap seems wrong as that
directory most likely contains x86_64 binaries.
Correct.
You must seperatly install gmp,mpfr and mpc into /sysroot before you try
to compile gcc using the cross compiler in /bootstrap.
Also, you only need to compile glibc one time.
What you can do is to use the --with-build-sysroot.
Is the whole consept that you are going to copy /sysroot to another
machine? Is the crossed compiler (the one that was compiled using the
cross compiler) supposed to use /sysroot on the target machine as
sysroot? (Because that is a bit of a hack!)
If not you can do something like this: --with-gmp=/sysroot (you don't
need to add --with-mpfr and --with-mpc as long as you used --with-gmp)
--host=i686-pc-linux-gnu --with-build-sysroot=/sysroot --with-sysroot=/
--
chs