This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Cross compilation problem
- From: Alexey Umnov <umnoff at gmail dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Mon, 26 Mar 2012 16:25:27 +0400
- Subject: Cross compilation problem
Dear all!
I'm trying to build a cross-compiler.
My build machine is 64bit linux (Ubuntu 11.10).
Here is the configuration command:
../configure --prefix=$PREFIX --target=arm-linux-androideabi
--with-sysroot=$SYSROOT --with-host=i386-linux-gnu --with-gnu-as
--with-gnu-ld --enable-languages=c,c++ --disable-sjlj-exceptions
--disable-libssp --enable-threads --disable-nls --disable-libmudflap
--disable-shared --disable-tls --with-float=soft --with-fpu=vfp
--with-arch=armv5te --enable-target-optspace --enable-initfini-array
After that I run usual "make"
The problem is that the tools that is being built are not 32bit
executables, they are rather 64bit (ELF 64-bit LSB executable,
x86-64). This is not what I expected because of
"--with-host=i386-linux-gnu" parameter which as far as I understand
tells the build system to build a compiler that runs on 32bit linux
machine.
Actually I have the toolchain built to be ran on 64bit linux. Now I
need a 32bit linux toolchain. To be more clear, I need a cross
compiler that is being built on 64bit linux, runs on 32bit linux and
produces binaries for android. I suppose the following parameters
should be set as following:
--with-build=x86_64-linux-gnu ( I suppose it's not necessary - will be
autodetected)
--with-host=i386-linux-gnu
--with-target=arm-linux-androideabi
But this doesn't work as I expect. What could be the mistake?
Thank You in advance!
----------------------------
Best regards!
Alexey Umnov
umnoff@gmail.com