错误现象:
cygwin下ct-ng build去编译crosstool-ng出现:
CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng build ...... [INFO ] ================================================================= [INFO ] Installing pass-1 core C compiler [EXTRA] Configuring gcc [EXTRA] Building gcc [ERROR] make[3]: *** [libgcc/./_powisf2.o] Error 1 [ERROR] make[3]: *** [libgcc/./_powidf2.o] Error 1 [ERROR] make[2]: *** [stmp-multilib] Error 2 [ERROR] make[1]: *** [all-gcc] Error 2 ......
对应build.log中的详细内容为:
[ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1/./gcc/xgcc -B/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1/./gcc/ -B/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/buildtools/arm-xscale-linux-gnueabi/bin/ -B/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/buildtools/arm-xscale-linux-gnueabi/lib/ -isystem /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/buildtools/arm-xscale-linux-gnueabi/include -isystem /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/buildtools/arm-xscale-linux-gnueabi/sys-include -O2 -g -Os -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc -I/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/. -I/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/../include -I/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/../libcpp/include -I/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/../libdecnumber -I../libdecnumber -DL_powixf2 -c /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/libgcc2.c -o libgcc/./_powixf2.o [ALL ] /tmp/cc7Xh6xp.s: Assembler messages: [ALL ] /tmp/cc7Xh6xp.s:21: Error: selected processor does not support ARM mode `fmsr s14,r0' [ALL ] /tmp/cc7Xh6xp.s:27: Error: selected processor does not support ARM mode `flds s15,.L16' [ALL ] /tmp/cc7Xh6xp.s:28: Error: selected processor does not support ARM mode `fcpyseq s13,s15' [ALL ] /tmp/cc7Xh6xp.s:29: Error: selected processor does not support ARM mode `fcpysne s13,s14' [ALL ] /tmp/cc7Xh6xp.s:39: Error: selected processor does not support ARM mode `fmuls s14,s14,s14' [ALL ] /tmp/cc7Xh6xp.s:41: Error: selected processor does not support ARM mode `fmulsne s13,s13,s14' [ALL ] /tmp/cc7Xh6xp.s:49: Error: selected processor does not support ARM mode `fldslt s15,.L16' [ALL ] /tmp/cc7Xh6xp.s:50: Error: selected processor does not support ARM mode `fdivslt s13,s15,s13' [ALL ] /tmp/cc7Xh6xp.s:52: Error: selected processor does not support ARM mode `fmrs r0,s13' [ALL ] libgcc.mk:223: recipe for target `libgcc/./_powisf2.o' failed [ERROR] make[3]: *** [libgcc/./_powisf2.o] Error 1 [ALL ] make[3]: *** Waiting for unfinished jobs.... [ALL ] /tmp/ccSq3fkb.s: Assembler messages: [ALL ] /tmp/ccSq3fkb.s:21: Error: selected processor does not support ARM mode `fmdrr d6,r0,r1' [ALL ] /tmp/ccSq3fkb.s:23: Error: selected processor does not support ARM mode `fldd d7,.L16' [ALL ] /tmp/ccSq3fkb.s:29: Error: selected processor does not support ARM mode `fcpydeq d5,d7' [ALL ] /tmp/ccSq3fkb.s:30: Error: selected processor does not support ARM mode `fcpydne d5,d6' [ALL ] /tmp/ccSq3fkb.s:40: Error: selected processor does not support ARM mode `fmuld d6,d6,d6' [ALL ] /tmp/ccSq3fkb.s:42: Error: selected processor does not support ARM mode `fmuldne d5,d5,d6' [ALL ] /tmp/ccSq3fkb.s:50: Error: selected processor does not support ARM mode `flddlt d7,.L16' [ALL ] /tmp/ccSq3fkb.s:51: Error: selected processor does not support ARM mode `fdivdlt d5,d7,d5' [ALL ] /tmp/ccSq3fkb.s:54: Error: selected processor does not support ARM mode `fmrrd r0,r1,d5' [ALL ] libgcc.mk:226: recipe for target `libgcc/./_powidf2.o' failed [ERROR] make[3]: *** [libgcc/./_powidf2.o] Error 1 [ALL ] make[4]: `crtend.o' is up to date. [ALL ] make[4]: `crtbeginS.o' is up to date. [ALL ] make[4]: `crtendS.o' is up to date. [ALL ] make[4]: `crtbeginT.o' is up to date. [ALL ] make[4]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1/gcc' [ALL ] make[3]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1/gcc' [ALL ] Makefile:1540: recipe for target `stmp-multilib' failed [ERROR] make[2]: *** [stmp-multilib] Error 2 [ALL ] rm gcc.pod [ALL ] make[2]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1/gcc' [ALL ] Makefile:4314: recipe for target `all-gcc' failed [ERROR] make[1]: *** [all-gcc] Error 2 [ALL ] make[1]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1' [ERROR] [ERROR] >> [ERROR] >> Build failed in step 'Installing pass-1 core C compiler' [ERROR] >> called in step '(top-level)'
原因:
至今未知
感觉好像是版本不兼容之类的问题。
解决办法:
后来是把gcc从当前的4.2.2,换成了4.6.0,就可以避免此问题了。
详见: