新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 操作系统研究。UEFI
    [返回] 计算机科学论坛计算机理论与工程『 操作系统原理 』 → 用MINIX-386 gcc1.37.1编译gcc-1.40 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 6703 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 用MINIX-386 gcc1.37.1编译gcc-1.40 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     enorm 帅哥哟,离线,有人找我吗?
      
      
      威望:4
      头衔:头衔
      等级:大三暑假(参加全国数模竞赛拿了一等奖)(版主)
      文章:144
      积分:854
      门派:Lilybbs.net
      注册:2005/12/1

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给enorm发送一个短消息 把enorm加入好友 查看enorm的个人资料 搜索enorm在『 操作系统原理 』的所有贴子 引用回复这个贴子 回复这个贴子 查看enorm的博客楼主
    发贴心情 用MINIX-386 gcc1.37.1编译gcc-1.40

    首先将gcc-1.40传到MINIX上。
    使用上述命令在Linux上将gcc-1.40.tar.Z分割为大小不超过1400K的文件:
    gcctz.aa1400k
    gcctz.ab1400k
    gcctz.ac  90k

    复制到dos盘上,并在MINIX-386上使用dosread命令读取:
    dosread b: gcctz.aa > gcc.tar.Z.aa
    dosread b: gcctz.ab > gcc.tar.Z.ab
    dosread b: gcctz.ac > gcc.tar.Z.ac

    然后合并成一个大文件:
    cat gcc.tar.Z.* > gcc.tar.Z
    compress16 –d gcc.tar.Z
    tar xf gcc.tar

    最后得到目录:
    /usr/john/gcc140/gcc-1.40/

    使用i386 sysV gas配置文件。

    RTFM – Read the F**king Message (查看编译出错信息)。


    使用i386 sysV gas配置文件。

    参考awb提供的gcc-1.37.1的Makefile文件对gcc-1.40的Makefile进行修改,基本上没大问题。

    运行config.gcc
    config.gcc i386-sysv-gas

    运行make碰到的问题1:
    cc的参数-g需要/usr/local/lib/libg.a,RMS建议创建一个该名称空的库文件。使用命令:
    ar rc /usr/local/lib/libg.a

    不能生成空文件(nothing!)
    于是随便写了一个子程序zjzdummy.c,然后执行:
    cc -c -o zjzdummy.o zjzdummy.c
    ar rc /usr/local/lib/libg.a zjzdummy.o

    生成了这个库文件,解决了这个问题。

    运行make时碰到的问题2:
    在编译c-parse.tar.c程序时,出现错误:
    “fp stack overflow”(浮点运算堆栈溢出)。

    该问题是由于在安装gcc 1.37.1执行文件时,其要求对/usr/src/kernel/klib386.x进行补丁操作,虽然执行了这一步,但是kernel编译时最终是要使用klib.x的。而在补丁操作以后没有将klib386.x复制成klib.x(或者使用命令config 386),因此补丁没有起作用。
    将klib386.x复制成klib.x并重新编译内核,即可解决该问题。

    运行make时问题3:
    “arg-list too long make stop.”,继续重新执行make即可。

    运行make问题4:
    在创建float.h文件时,需要先编译出hard-params文件。失败,因此float.h不成功。
    最后使用1.37.1的库gnulib和float.h文件。

    ranlib – 产生归档文件(archive)内容的一个索引,并将该索引保存在该archive中。该索引列出了archive中可重定位目标文件(元素)定义的每一个符号。该索引用于加速连接archive中子程序的速度。该命令与命令ar -s完全等同。
    可以使用命令nm -s命令列出该索引。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    天亮了

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/12/7 12:09:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 操作系统原理 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/25 16:36:50

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    6,691.406ms