各位好,
应市场与客户需求,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%。 [cid:image001.jpg@01D9B04E.97BE5070]
l 社区沟通上,与硬件厂商进行了交流并收集对升级GCC 12.3.0的意见和建议,均没有收到反对意见。
综合考虑,升级GCC 12.3.0能较好的平衡收益和风险。因此7月10日,GCC for openEuler软件包仓master将升级至GCC 12.3.0,也请各位悉知。 [cid:image008.png@01D9B048.36132AE0]
Compiler SIG 黄晓权