一、问题

        使用比较旧的pc装Ubuntu22来编译香橙派5Plus的内核,过程中遇到编译器崩溃错误:

internal compiler error: Illegal instruction

二、问题分析

        chatgpt给出的解答是:

似乎和编译的机器以及编译器有关,根据它给出的建议更改源码。

以下是我遇到的错误文件。

1、sched下的core文件

更改次幂的计算方式,这种方法应该能够在所有编译器中正常工作,而不会导致非法指令的错误。

还有下面 cpu_uclamp_print 函数:

2、ipv4下的tcp_cdg文件

        浮点数改为整数:

3、mali_kbase_pm_metrics.c文件

drivers/gpu/arm/bifrost/backend/gpu/mali_kbase_pm_metrics.c

将科学记数法 1E9 转换为整数常量 1000000000

三、总结

        编译过程中可能还会遇到类似的问题,都是编译器报错,应该都是和浮点数相关。读者只需要发给chatgpt即可。

        以后还是尽量用好一点的宿主机吧,老改源码也是头痛。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐