您好yuucyf,
感谢您对GCC for openEuler的关注和支持,希望下面的回复能够解答您的疑问。
1. 我看 Compiler SIG 会议上说 OpenEuler 中 GCC 选型是直接拉取上游 GCC 版本到 OpenEuler 中有没有改动呢? ―― openEuler GCC 社区基于开源 GCC 社区进行功能和特性的开发,目前社区主要在 C/C++/Fortran 语言以及AArch64/X86/RISC-V/SW-64/LoongArch等后端上进行深入开发,并同时保持对其他语言和后端架构的维护,详情可参考您在下面提到的《openEuler 操作系统技术白皮书》。
2. 我看在 gitee 上有一个 GCC for OpenEuler 的开源源码,这个又有什么用呢? ―― GCC for openEuler开源源码(https://gitee.com/openeuler/gcc%EF%BC%89%E6%98%AFopenEuler GCC的开发仓库,主要是为了便于特性开发和检视。特性在开发过程中会先合入此仓库(可能会分为数个commit),待开发完毕后会同步至src-openEuler的gcc制品仓中。
3. 为何 GCC for OpenEuler 源码不支持 powerpc、mipc target,如果 GCC for OpenEuler 是从 GCC 上游拉取进行修改的,那应该是有这些 target,为何没有呢?去拉下来把这些 target 进行移除了吗? ――没有移除这些target,不过在构建GCC时没有启用这些后端支持。主要原因是让openEuler支持某个架构不仅需要编译器的支持,而且还有其他基础软件(kernel、glibc、binutils)和核心应用软件可能都需要相应支持,仅在GCC上启用这些后端支持可能意义不大。如果您有这方面的诉求,建议到openEuler TC上申报议题讨论此事。
4. 在 Compiler SIG 会议中关于 OpenEuler GCC 选型有清晰地说明 OpenEuler 选型及版本来源于 GCC upstream,我的疑问是:在 OpenEuler 中会对上游 GCC 版本有进行修改吗?还是直接使用没有进行变更? ――与问题1相同。
5. 若需要安装其他 GCC 上游版本是不是要用户从源码构建安装呢? ――除了在openEuler 22.03之后的版本提供GCC 10/12双版本支持之外,目前其他版本的GCC都需要通过源码构建安装的方式使用。不过当前Compiler SIG正在规划多版本GCC支持,届时可能能够满足您对多版本编译器的需求,希望您可以通过邮件、例会和峰会等途径持续关注此特性的动态和进展。
6. GCC for openEuler 中针对这些优化功能是否都完全开源?这些优化功能目前有提到 GCC upstream 吗?如果没有,有这个计划吗? ――这部分优化特性均已开源,目前暂未提交至upstream。后续在与上游社区进一步讨论和沟通后,按沟通反馈,我们有节奏地尝试提交这部分特性。
BR Compiler SIG Maintainer 李彦成
/////////////////////////// 原始邮件: 发件人: yuucyf yuucyf@163.com 发送时间: 2023年8月7日 11:32 收件人: compiler@openeuler.org 主题: [Compiler] 关于 GCC for openeuler 的一些疑问?
hi, GCC for openeuler 团队,有几个疑问能否帮忙解惑一下。
1. 我看 Compiler SIG 会议上说 OpenEuler 中 GCC 选型是直接拉取上游 GCC 版本到 OpenEuler 中有没有改动呢?我看在 gitee 上有一个 GCC for OpenEuler 的开源源码,这个又有什么用呢?为何 GCC for OpenEuler 源码不支持 powerpc、mipc target,如果 GCC for OpenEuler 是从 GCC 上游拉取进行修改的,那应该是有这些 target,为何没有呢?去拉下来把这些 target 进行移除了吗?
2. 在 Compiler SIG 会议中关于 OpenEuler GCC 选型有清晰地说明 OpenEuler 选型及版本来源于 GCC upstream,我的疑问是:在 OpenEuler 中会对上游 GCC 版本有进行修改吗?还是直接使用没有进行变更?若需要安装其他 GCC 上游版本是不是要用户从源码构建安装呢?其他版本的 GCC 在 OpenEuler 中应该没有提供 rpm 安装包吧?
3. <<openEuler 操作系统技术白皮书>> 上有介绍 GCC for openEuler 在以下几个方向实现主要突破: - 指针压缩特性 - 全流程反馈优化 - 智能分配预取 GCC for openEuler 中针对这些优化功能是否都完全开源?这些优化功能目前有提到 GCC upstream 吗?如果没有,有这个计划吗?
以上就是关于 GCC for openeuler 的一些疑问,希望能得到 GCC for openeuler 团队的答复,感谢。