预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

全手工制作arm-linux交叉编译工具链(Gcc4.2.1+Glibc2.6.1+Linux2.6.22.6)《二》作者:GarfieldTrump《四》具体实现:HYPERLINK"http://cross-lfs.org/view/clfs-sysroot/arm/index.html"\t"_blank"http://cross-lfs.org/view/clfs-sysroot/arm/index.html在此部分的制作过程主要参考以上网站完成,但其中制作过程有错,在本文中GarfieldTrump予以了纠正。读者可以事后参看一下。我会在以下篇幅中指出与该网站的不同之处,并说明错在什么地方。建议先看本文,此网站的目录结构比较混乱,而且按该网站所述建立工作目录,一定会出错,是在第二阶段Gcc制作中出错,原因是找不到头文件。4.1下载所需源码包http://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/binutils-2.18-posix-1.patchhttp://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-4.2.1.tar.bz2http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/gcc-4.2.1-posix-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/gcc-4.2.1-cross_search_paths-1.patchhttp://ftp.gnu.org/gnu/glibc/glibc-2.6.1.tar.bz2http://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-sysdep_cancel-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-localedef_segfault-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-libgcc_eh-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-hppa_nptl-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-cross_hacks-1.patchhttp://svn.cross-lfs.org/svn/repos/cross-lfs/branches/clfs-sysroot/patches/glibc-2.6.1-RTLD_SINGLE_THREAD_P-1.patch4.2设置环境变量exportTAR=/tar//设置源文件压缩包的存放目录路径exportTOP=/usr/local/arm//设置目标工具链目录的顶成目录exportCLFS=${TOP}/clfs//设置编译过程工作目录exportSYSROOT=${TOP}/4.2.1//设置目标工具链的工作目录exportTARGET_PREFIX=${TOP}/4.2.1//设置目标工具链的安装目录注意:这里的SYSROOT和TARGET_PREFIX设成相同。跟http://cross-lfs.org/view/clfs-sysroot/arm/index.html上所讲的有所不同,也是该网站出错最严重的地方,因为不但制作过程需要Linux内核头文件跟glibc的头文件,而且以后使用这个制作出来的目标交叉编译工具链来编译程序的时候也会用到这些头文件,特别是Linux内核的头文件。所以GarfieldTrump把SYSROOT和TARGET_PREFIX设成相同,以便把头文件直接安装到目标交叉编译工具链的工作目录中。LINUX_VERSION=2.6.22.6//设置Linux的版本号BI