Hello, I am trying to build an arm-elf cross-compiler with a gcc configure option -arch=iwmmxt2 ( or -cpu=iwmmxt2). Following is the list of sources I have used: Binutils-2.19.1 Gmp-4.3.1 Mpfr-2.4.1 Newlib-1.17.0 Gcc-core-4.4.1 Gcc-g++-4.4.1 I am building the toolchain on cygwin Following are the configure options for binutils /opt/src/binutils-2.19.1/configure --target=arm-elf --prefix=/gnutools -v 2>&1 | tee configure.out I am building newlib with gcc by copying the newlib and libgloss folders into the gcc folder. Following are the configure options for gcc /opt/src/gcc-4.4.1/configure --target=arm-elf --prefix=/gnutools --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-include-dir=/gnutools/arm-elf/include --with-arch=iwmmxt2 --with-float=soft --with-mpfr-lib=/usr/local/lib --with-gmp-lib=/usr/local/lib -v 2>&1 | tee configure.out I had initially configured and built gcc without using the '--with-cpu' option since I want a cross-compiler that would work with armv7 as well as iwmmxt2 architectures. I had no build issues but on compiling my test code I got an error that 'libgcc.a(_udiviso.o) uses FPA whereas target elf uses soft FP' , this inspite building gcc with the '--with-float=soft' option. I looked on the web and found that unless '--with-arch or --with-cpu' option is specified while building gcc , libgcc gets built to use FPA by default. That is why I am back to trying to build gcc with the '--with-arch' option. Now I am getting gcc build errors when libgcc is built: 'checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile' I get the same error even when I use '--with-arch=armv7' Is there any fix for this? How do I build a cross-compiler to work for both armv7 and iwmmxt2 architectures using soft float. Thanks Sangeeta