
- clang-15应该被作为系统编译器使用,某些开源软件对于非系统编译器的支持存在问题(即不能找到xxx-15的可执行文件,而是hardcode的xxx文件,使用环境变量也无法代替)。为了减少各个软件包的适配难度,将clang-15作为默认系统编译器是比较好的选择。将clang-15作为系统编译器可以参考我的gitee工程:https://gitee.com/chenxi-mao/clang-bin 包名可以叫做clang/llvm/lld-default。这样就可以在spec中直接定义系统编译器的版本,如15/16。免去在各个RPM包中修改。
- 在RPM打包时如何切换编译器工具链中,额外不仅要对于CC/CPP进行处理,还需要对AR/READELF等变量进行同样处理。即使用llvm-ar/llvm-readelf替代原有的gnu binutils。
- 增加LTO的打开关闭开关,默认打开LTO,如果软件包不支持,可以手动关闭。

多谢晨曦~
关于第一个问题,因为目前clang-15还不是直接安装在系统目录下,确实会出现软件包适配问题。我原计划在验证环境上把clang-15设置成系统编译器,不影响23.03的版本发布。
至于如何将clang-15设置为系统编译器,我建议我们在明天的Compiler SIG例会上作为一个议题再讨论一下。
Best Regards
赵川峰(Steve)
发件人: Chenxi Mao <chenxi.mao@suse.com>
发送时间: 2023年3月13日
8:42
收件人: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>
抄送: Kai Liu <kai.liu@suse.com>; compiler@openeuler.org
主题: LLVM平行宇宙调研
川峰:
基于上周讨论的内容,我基于openEuler2303的python3包,做了clang编译器的调研,共有下面几项结论:
-
clang-15应该被作为系统编译器使用,某些开源软件对于非系统编译器的支持存在问题(即不能找到xxx-15的可执行文件,而是hardcode的xxx文件,使用环境变量也无法代替)。为了减少各个软件包的适配难度,将clang-15作为默认系统编译器是比较好的选择。将clang-15作为系统编译器可以参考我的gitee工程:https://gitee.com/chenxi-mao/clang-bin 包名可以叫做clang/llvm/lld-default。这样就可以在spec中直接定义系统编译器的版本,如15/16。免去在各个RPM包中修改。
-
在RPM打包时如何切换编译器工具链中,额外不仅要对于CC/CPP进行处理,还需要对AR/READELF等变量进行同样处理。即使用llvm-ar/llvm-readelf替代原有的gnu
binutils。
-
增加LTO的打开关闭开关,默认打开LTO,如果软件包不支持,可以手动关闭。
以上信息供参考。
Chenxi

发送时间: 2023年3月13日 9:34
收件人: Chenxi Mao <chenxi.mao@suse.com>
抄送: Kai Liu <kai.liu@suse.com>; compiler@openeuler.org <compiler@openeuler.org>
主题: 答复: LLVM平行宇宙调研
多谢晨曦~
关于第一个问题,因为目前clang-15还不是直接安装在系统目录下,确实会出现软件包适配问题。我原计划在验证环境上把clang-15设置成系统编译器,不影响23.03的版本发布。
至于如何将clang-15设置为系统编译器,我建议我们在明天的Compiler SIG例会上作为一个议题再讨论一下。
Best Regards
赵川峰(Steve)
发件人: Chenxi Mao <chenxi.mao@suse.com>
发送时间: 2023年3月13日
8:42
收件人: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>
抄送: Kai Liu <kai.liu@suse.com>; compiler@openeuler.org
主题: LLVM平行宇宙调研
川峰:
基于上周讨论的内容,我基于openEuler2303的python3包,做了clang编译器的调研,共有下面几项结论:
- clang-15应该被作为系统编译器使用,某些开源软件对于非系统编译器的支持存在问题(即不能找到xxx-15的可执行文件,而是hardcode的xxx文件,使用环境变量也无法代替)。为了减少各个软件包的适配难度,将clang-15作为默认系统编译器是比较好的选择。将clang-15作为系统编译器可以参考我的gitee工程:https://gitee.com/chenxi-mao/clang-bin 包名可以叫做clang/llvm/lld-default。这样就可以在spec中直接定义系统编译器的版本,如15/16。免去在各个RPM包中修改。
- 在RPM打包时如何切换编译器工具链中,额外不仅要对于CC/CPP进行处理,还需要对AR/READELF等变量进行同样处理。即使用llvm-ar/llvm-readelf替代原有的gnu binutils。
- 增加LTO的打开关闭开关,默认打开LTO,如果软件包不支持,可以手动关闭。
以上信息供参考。
Chenxi

发送时间: 2023年3月13日 8:42
收件人: Zhaochuanfeng (Steve) <zhaochuanfeng@huawei.com>
抄送: Kai Liu <kai.liu@suse.com>; compiler@openeuler.org <compiler@openeuler.org>
主题: LLVM平行宇宙调研
- clang-15应该被作为系统编译器使用,某些开源软件对于非系统编译器的支持存在问题(即不能找到xxx-15的可执行文件,而是hardcode的xxx文件,使用环境变量也无法代替)。为了减少各个软件包的适配难度,将clang-15作为默认系统编译器是比较好的选择。将clang-15作为系统编译器可以参考我的gitee工程:https://gitee.com/chenxi-mao/clang-bin 包名可以叫做clang/llvm/lld-default。这样就可以在spec中直接定义系统编译器的版本,如15/16。免去在各个RPM包中修改。
- 在RPM打包时如何切换编译器工具链中,额外不仅要对于CC/CPP进行处理,还需要对AR/READELF等变量进行同样处理。即使用llvm-ar/llvm-readelf替代原有的gnu binutils。
- 增加LTO的打开关闭开关,默认打开LTO,如果软件包不支持,可以手动关闭。
participants (2)
-
Chenxi Mao
-
Zhaochuanfeng (Steve)