·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux论坛 | Linux文档 | Linux下载 | Linux博客 | Linux搜索 | 开源项目孵化平台 | 《开源时代》
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 电子杂志 >> 开源项目
 
龙芯GCC小组:积极参与社区建设 [09年2月刊]
来源: Linux论坛  日期: 2009.03.06 11:16 (共有条评论) 我要评论
 


      

    大家好,新的一起专家专栏又和大家见面了,今天有幸邀请到来自中科院计算所的邢明杰工程师,让他来给我们介绍一些他们目前所从事的开源社区事务,他们目前主要负责龙芯GCC后端支持的工作。
ChinaUnix能先给大家简单介绍一下GCC的发展情况么?以及GNU的发展情况,因为GNU到现在已经25年了。
邢明杰有关GNU的背景和资料,网上有很多,我也不必在这里重复了。感谢RichardStallman为我们竖起的这面"自由"旗帜。我想,也许就是GNU的这种自由的精神,才吸引了无数的贡献者,推动着GNU一直走到今天。GCCGNU计划中最早开发出来的软件之一。
        我们知道,GCC最初也是由RichardStallman开发出来的。GCC的第一个版本于1987年发行,只支持C语言;现在GCC已经支持CC++Objective-CFortranJavaAda等语言。GCC的含义也由最初的GNU C Compiler演变为GNUCompilerCollection。具统计,现在GCC拥有的maintainer有近四百人,contributer数千人,tester数万人。规模可谓壮大。
      ChinaUnix我听说你之前创建过HelloGccWorkshop,这是一个什么样的社团,现在的状况如何?
邢明杰其实,只是在网上注册了一个空间。当时我正在尝试翻译GCCInternals,想通过这种方式来强迫自己读一遍Internals。于是便申请了一个网上空间把翻译放到上面。翻译的很粗略,而且直到现在还剩下了许多章节没有翻译,呵呵。不过,也因此在网上认识了许多朋友。teawater和我在200810月份举办了一个小型的关于GCCGDB的技术讨论会,邀请大家在一起互相交流、沟通,感觉受益匪浅。我也希望今年可以继续举办第二次技术讨论会。这是一个比较随意的社团,主要是针对GCC工具链方面的,随时欢迎大家加入。
ChinaUnixGCC(以及bintuils)现在已经加入了对龙芯2E/F的支持,你对此有何看法?
邢明杰首先,我想说明的是,对于这些工作,我并没有做出什么贡献。在binutils邮件列表上搜索loongson关键字,就可以看到,binutils社区中与龙芯相关的邮件最早是20072月份从gentoo.org发出的。我是2008年初才开始接触龙芯,当时注意到GCC还没有支持龙芯后端,大家还只是使用mips的后端来编译龙芯上的操作系统以及应用程序。而国内已经有一些朋友在网上发布了自己的patch。其中我所知道的比较活跃的两位朋友是ZhangLejamesr。我便也做了一个简单的移植,并在GCC邮件列表上发邮件询问是否有人正在做龙芯GCC的移植工作。紧接着Maxim(来自codesourcery)便回复我说他们已经着手要提交patch了。
       但是,从这件事情上,我意识到一个问题。那就是,我们需要融入到社区中,积极参与邮件列表的讨论,提交基于svn开发版本的patch,只有这样才能将自己的工作贡献到最终的GCC发行版中。如果只是在国内的论坛上发一些帖子,或者自己基于某个版本做一些修改,搞出一个仅供内部使用的版本来,最终还是无法被社区接受。其实,GCC有许多分支项目,感兴趣的朋友可以到官方网站上查看一下,上面也介绍了如何提出贡献。另外,GCC每年都会召开一次大会,会议论文也可以在网站上获得。我们上次就邀请了在2008GCCSummit上发表过文章的yingbo来参加我们的讨论会。
ChinaUnix你现在在计算所的GCC小组工作,能给大家介绍一下这个小组的情况么?
邢明杰现在,我们在吴老师的带领下,成立了一个小组,主要从事GCC方面的研究工作。一方面,为龙芯芯片的后续研发及时提供GCC编译器的支持;另一方面,与国际上的研究机构合作,开展一些前沿的科研项目。小组成立时间还不是很长,主要是由员工和在读博士,硕士组成。我们也希望有感兴趣的朋友加入进来。在这里,我也想感谢吴老师对我的指导,彭亮,衷璐洁,邱吉,徐翠萍,冯睿鑫,陈洋,黄元杰等给我的帮助。
ChinaUnix既然作为GCC的团队,如何和国际上的开源技术人员协作的,有什么值得国内的技术人员学习的地方?
邢明杰我个人认为,非常直接有效的方法,就是通过邮件列表。单从讨论技术问题这样角度考虑,我非常喜欢MailingList这样的邮件列表形式,不喜欢bbs这样的网站论坛形式。另外,我们现在跟法国INRIA合作,他们这些年在GCC社区非常活跃,我们可以通过邮件,电话会议,或者互访的形式进行交流。总之,我觉得交流是最重要的环节。
ChinaUnixGCC在和商业编译器的对比中,有何不同?
邢明杰我想,如果和商业编译器相比的话,最大的不同就应该是,GCC是非商业的。你可以自由的获得它的源代码,对它进行修改并且发布。而且,现在GCC发展很快,性能也在不断提升,甚至可以和一些商业编译器相媲美。另外,GCC支持众多的体系结构,非常易于移植。我们知道,linux本身就是通过GCC来编译的。所以说,在linux下工作的朋友一定对它不陌生。
ChinaUnix龙芯GCC移植有哪些特点,在龙芯平台上使用GCC需要注意哪些问题?
邢明杰我们知道,GCC具有很好的可移植性,而且龙芯又是基于MIPS体系结构来设计的,所以龙芯GCC的移植相对来说需要改动的地方要少许多。查看一下GCC中关于龙芯2E/F的代码,就可以看到,主要的工作包括对龙芯特有的多媒体指令的支持,指令流水线的描述以及一些其它新增指令的支持等。对于其它方面,比如说寄存器的使用,函数调用约定等,都是沿用现有的MIPS后端代码,这样也就使得在龙芯和MIPS具有一定的兼容性。在龙芯2E/F机器上,通常如果使用GCC缺省的选项来编译程序,就会生成针对MIPS1的体系结构的代码。当然,生成的程序也可以执行,但是性能会差一些。如果要生成针对龙芯2E/F的体系结构的代码,则可以加上-march=loongson2e或者-march=loongson2f这样的选项。
  发表评论 查看评论(共有条评论)
 
 


最新资讯更多>> 
· 谷歌劝说诺基亚采用Android操作..
· Apache 基金会确认退出 JCP 执..
· Chrome 10 新功能探秘:新增GP..
· 金山宣布开源其安全软件
· 女黑客在开源会议上抱受骚扰
· 21款值得关注的Linux游戏
· 马化腾:腾讯半年后彻底转型,..
· [多图] Chrome OS 预发布版本多..
· Lubuntu 11.04 默认应用抢先一览
· Red Hat宣布收购云计算软件提供..
论坛热点更多>> 
· do_execve时候用户栈中参数的..
· swapinfo -atm 问题
· Linux 的优点简述
· VM虚拟机上得Red Hat Linux上..
· 我看成了上海男人喜欢女人毛..
· 校车展览,看了你就知道
· 在遇到他之前,唯一需要做的..
· GRUB的疑问
· 从来没有人真正付足书价——..
· 云存储 vs 网盘
文档更新更多>> 
· orcale queue
· 谁可以推荐几本经典的操作系统的..
· 【北京】某物联网公司招云计算应..
· 【北京】某物联网公司招云计算应..
· 谁能推荐几本关于操作系统的书
· 如何添加网络接口eth1
· 葡萄牙语入门教材的选取与经验分享
· 葡萄牙语就业前景分析
· 葡萄牙语学习经验交流
· Щ
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2009 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证:060528号