PowerPC Linux工具链制作.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PowerPC Linux工具链制作

PowerPC Linux工具链制作下载压缩包gmp-4.3.2.tar.gz,不依赖与其他软件包mpfr-2.4.2.tar.bz2,依赖于gmpmpc-1.0.1.tar.gz,依赖于gmp、mpfrbinutils-2.22.tar.bz2gcc-4.7.2.tar.gz,依赖于gmp、mpc、mpfrglibc-2.14.tar.gzlinux-2.6.35.14.tar.gz解压缩创建如下结构的目录树:crosstoolpackagessrcbinutils-2.22gcc-4.7.2gmp# gmp-4.3.2目录移到此处,改名为gmpmpfr# mpfr-2.4.2目录移到此处,改名为mpfrmpc# mpc-1.0.1目录移到此处,改名为mpcglibc-2.14linux-2.6.35.14buildbinutilsbootgccallgccglibcsysinclude把第1节中所示的软件包放到packages目录中,并解压到src下的相关目录下(包括Linux内核),其他为新建空目录。设置环境临时设置当前用户对于/usr/local目录有可读写的权限(需要root用户参与,在工具链构建完成后,需要恢复权限设置)。$ export PREFIX=/usr/local/powerpc$ export TARGET=powerpc-linux$ mkdir -p ${PREFIX}$ export PATH=${PREFIX}/bin:$PATH为glibc准备Linux头文件$ cd src/linux-2.6.35.14$ make mrproper$ make ARCH=powerpc headers_check$ make ARCH=powerpc INSTALL_HDR_PATH=${TGTPREFIX} headers_install$ cd ../..【注】从2.6.23之后的Linux内核提供了一个make目标用于自动构建Linux内核头文件“经过消毒的版本”。在这之前的版本需要用户自己将内核目录中的头文件手工拷出来。2.6.23之后的版本内核头文件中许多程序代码不适合纳入用户态程序,而且容易中断用户程序(包括C库)的构建,因此在此之后的版本必须通过make提取“经过消毒的头文件”。修改glibc的配置文件$ cd src/glibc-2.14$ cp -v Makeconfig Makeconfig.orig$ sed -e s/-lgcc_eh//g Makeconfig.orig Makeconfig$ cd ../..【注】选项-lgcc_eh会导致编链接的时候找不到libgcc_eh.a(实际上也不需要该库)而失败。所以解决办法是删除掉该链接选项。编译binutils$ cd build/binutils$../../src/binutils-2.22/configure --prefix=${PREFIX} --target=${TARGET}$ make$ make install$ cd ../..编译gcc bootstrap$ cd build/bootgcc$../../src/gcc-4.7.2/configure --prefix=${PREFIX} --target=${TARGET}--enable-languages=c--disable-shared --without-headers --with-newlib --disable-decimal-float --disable-libgomp --disable-libmudflap --disable-libssp --disable-threads --disable-multilib$ make all-gcc$ make install-gcc$ make all-target-libgcc$ make install-target-libgcc$ cd ../..编译glibc$ cd build/glibc$ CC=${TARGET}-gcc../../src/glibc-2.14/configure--prefix=/usr--host=${TARGET}--with-headers=${PREFIX}/${TARGET}/include--enable-add-ons libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes$ make all$ make install_root=${PREFIX}/${TARGET}prefix=install$ cd ../..修改libc.so和libpthread.so文件$ cd ${PREFIX}/${TA

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档