Dear Sir: After failing to compile gcc3.4.0,I chang to gcc2.95.3 with binutils 2.10.1. Building binutils is successful, and the gcc is almost successful.The error is as following, but I don't know where is "asm/unistd.h"is from. How to resovle it? Thanks. configure gcc as: ../gcc-2.95.3/config --target=arm-linux --prefix=/home/lurj/board_tms5471/tools --without-headers --with-newlib --enable-languages=c error: --------------------------------------------- ............ rm -f tmplibgcc1.a libgcc1.S cp ../../gcc-2.95.3/gcc/config/arm/lib1funcs.asm libgcc1.S for name in _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx; \ do \ echo ${name}; \ /home/lurj/board_tms5471/build-tools/build-gcc/gcc/xgcc -B/home/lurj/board_tms5471/build-tools/build-gcc/gcc/ -B/home/lurj/board_tms5471/tools/arm-linux/bin/ -I/home/lurj/board_tms5471/tools/arm-linux/include -O2 -DCROSS_COMPILE -DIN_GCC -g -O2 -I./include -fomit-frame-pointer -fPIC -Dinhibit_libc -D__gthr_posix_h -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I../../gcc-2.95.3/gcc -I../../gcc-2.95.3/gcc/config -I../../gcc-2.95.3/gcc/../include -c -DL${name} libgcc1.S; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ mv libgcc1.o ${name}.o; \ arm-linux-ar rc tmplibgcc1.a ${name}.o; \ rm -f ${name}.o; \ done _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx libgcc1.S:438: asm/unistd.h: No such file or directory make[1]: *** [libgcc1-asm.a] Error 1 make[1]: Leaving directory `/home/lurj/board_tms5471/build-tools/build-gcc/gcc' make: *** [all-gcc] Error 2 ----------------------------------------------