Hi, I am building gcc 4.8.1 in a Red Hat 6.4 64 bit machine. I am building gnat first and it is build as 32 bit i686 architecture. I used gnat-gpl-2013-i686-pc-linux-gnu-bin for gnat and it created a 32 bit gcc in the directory, I set the path to that so, gcc is now gcc 4.7.4 from /gnat/bin/gcc. When I checked that is 32 bit gcc. I used this configuration ./gcc-4.8.1/configure --disable-multilib --disable-bootstrap --disable-install-libiberty --with-system-zlib --enable-clocale=gnu --enable-shared --enable-lto --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,fortran,java,ada --prefix=/usr/local/ CFLAGS="-pipe -march=native -mtune=native -g -O2" CXXFLAGS="-pipe -march=native -mtune=native -g -O2" I was able to build the compiler with this configuration and arch is x86_64. when I tried to compile a file with -m32 option it didn't work and got the error message crtbegin.o: could not read symbols: File in wrong format. Collect2: kd returned 1 exit status