各位好,
应市场与客户需求, GCC for openEuler 每 1-2 年会升级一个大版本,一般在下半年的 openEuler 创新版本中引入新版本。 在 6 月的 TC 例会上,经全体技术委员会委员商议,同意在 openEuler-23.09 创新版本将默认 GCC 版本升级为 GCC 12.3.0 。
l 上游版本选择:以最新经过一年演进的 GCC12.3.0 版本为基础,同时对于 GCC 13.1.0 较新的特性可通过回合的策略进行更新,减少问题和升级风险。
l GCC for openEuler 版本升级计划:此次计划在 openEuler-23.09 升级 GCC 12.3.0 , openEuler-24.03-LTS 也会基于 GCC 12.3.0 进行演进。
l 升级的原因和价值 : GCC 12.3.0 支持 C17/C++17 标准, armv9-a 架构, x86 的 AVX512PF16 等特性,能更好的扩展和支持新架构及新特性。
l GCC 12.3.0 的验证和测试: 构建上,初步对依赖的 1000+ 软件包进行构建验证,仅有 10+ 失败,主要涉及 Werror 、 C++ 标准和头文件等问题( 以软件包自身源码问题为主, 建议对应软件包维护者进行版本选型升级或源码问题修复 ),问题较少、风险可控。 性能上,在鲲鹏 920 ARM 平台上验证 GCC 12.3.0 比 GCC 10.3.0 在 SPECCPU INTRATE 上提升约 1% 。
l 社区沟通上,与硬件厂商进行了交流并收集对升级 GCC 12.3.0 的意见和建议,均没有收到反对意见。 综合考虑,升级 GCC 12.3.0 能较好的平衡收益和风险。因此 7 月 10 日, GCC for openEuler 软件包仓 master 将升级至 GCC 12.3.0 ,也请各位悉知。
Compiler SIG 黄晓权