|
版本:
tar jxf gcc-3.4.6.tar.bz2
tar jxf binutils-2.18.tar.bz2
tar jxf uClibc-0.9.28.tar.bz2
编译过程:
cd /data/binutils-2.18/
./configure --target=i686-linux --prefix=/opt/i686 --disable-nls
make && make install && echo "succ----"
cd /data/gcc-3.4.6/
export PATH=/opt/i686/binPATH
./configure --target=i686-linux --prefix=/opt/i686 --disable-nls --enable-languages=c --without-headers --with-newlib
make && make install && echo "succ----"
编译uclibc,略
mkdir /data/gcc-final
cd /data/gcc-final/
tar jxf /data/gcc-3.4.6.tar.bz2
cd /data/gcc-final/gcc-3.4.6/
./configure --target=i686-linux --prefix=/opt/i686 --disable-nls --enable-languages=c --disable-__cxa_atexit
make && make install && echo "succ----"
工具链测试:
[root@server /opt/i6863]# i686-linux-gcc hello.c -o hello -v
Reading specs from /opt/i6863/lib/gcc/i686-linux/3.4.6/specs
Configured with: ./configure --target=i686-linux --prefix=/opt/i6863 --enable-languages=c --disable-__cxa_atexit --disable-nls
Thread model: posix
gcc version 3.4.6
/opt/i6863/libexec/gcc/i686-linux/3.4.6/cc1 -quiet -v hello.c -quiet -dumpbase hello.c -mtune=pentiumpro -auxbase hello -version -o /tmp/cckW7LMM.s
ignoring nonexistent directory "/opt/i6863/lib/gcc/i686-linux/3.4.6/../../../../i686-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/opt/i6863/include
/opt/i6863/lib/gcc/i686-linux/3.4.6/include
/usr/include
End of search list.
GNU C version 3.4.6 (i686-linux)
compiled by GNU C version 3.2.2 20030222 (Red Hat Linux 3.2.2-5).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64003
/opt/i6863/lib/gcc/i686-linux/3.4.6/../../../../i686-linux/bin/as -V -Qy -o /tmp/ccAHJncu.o /tmp/cckW7LMM.s
GNU assembler version 2.18 (i686-linux) using BFD version (GNU Binutils) 2.18
/opt/i6863/libexec/gcc/i686-linux/3.4.6/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hello /opt/i6863/lib/gcc/i686-linux/3.4.6/../../../crt1.o /opt/i6863/lib/gcc/i686-linux/3.4.6/../../../crti.o /opt/i6863/lib/gcc/i686-linux/3.4.6/crtbegin.o -L/opt/i6863/lib/gcc/i686-linux/3.4.6 -L/opt/i6863/lib/gcc/i686-linux/3.4.6/../../../../i686-linux/lib -L/opt/i6863/lib/gcc/i686-linux/3.4.6/../../.. /tmp/ccAHJncu.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /opt/i6863/lib/gcc/i686-linux/3.4.6/crtend.o /opt/i6863/lib/gcc/i686-linux/3.4.6/../../../crtn.o
[root@server /opt/i6863]# ls /opt/i6863/i686-linux/
问题1, 上面的链接过程中搜寻头文件有2个多于的" /usr/local/include" 和 " /usr/include" , 怎样去掉呢?
问题2, 链接过程中-dynamic-linker /lib/ld-linux.so.2这个好像不正确, 该怎么修改呢
谢谢 |
|