昨天编译完binutils就一点多了,……困啊。今天继续。

首先需要把环境变量重新设置一下(因为昨天关机了):

 $ export TARGET=powerpc-kurobox-linux-gnu
 $ export PREFIX=/home/charlee/cross/tools 

然后我们准备开始编译gcc的第一遍。编译之前首先要准备好两个东西,一个是C语言库的头文件,一个是内核源码的头文件。昨天我们已经解压了glibc和kernel,现在只需要把这些头文件复制到目标目录下面就可以了。

 $ cp -a glibc-2.3.5/include/ $PREFIX/$TARGET
 $ cp -a linux-2.6.11.11/include/linux/ $PREFIX/$TARGET/include
 $ cp -a linux-2.6.11.11/include/asm-ppc/ $PREFIX/$TARGET/include
 $ cd $PREFIX/$TARGET/include
 $ ln -s asm-ppc asm

之后回到工作目录 /home/charlee/cross 下,为gcc建立编译目录:

 $ mkdir gcc-build-bootstrap

编译gcc:

 $ cd gcc-build-bootstrap
 $ ../gcc-4.0.0/configure --target=$TARGET --prefix=$PREFIX \ 
   --without-headers --with-newlib --with-gnu-as --with-gnu-ld \ 
   --with-local-prefix=${PREFIX}/${TARGET} --disable-shared
 $ make all-gcc

结果编译时报告 pthread.h 和 unistd.h 出错。