首页 > 解决方案 > crosstool-ng 的 LD 在编译内核时给出“源对象 a/b/built-in.o 具有 EABI 版本 5,但目标 b/built-in.o 具有 EABI 版本 0”

问题描述

我刚刚为“arm-unknown-eabi”创建了一个带有 crosstool-ng 的 gcc11 交叉编译器来编译我的内核(用于 msm8974 芯片组的 android),但是在链接的某个时刻,LD 给出了这个关于 EABI 版本的错误,但是目标文件甚至不存在。这些是 crosstool 工具链的组件:

给出错误的完整命令是这样的:

查看这些文件:

真正的目标(drivers/gpu/built-in.o)甚至不存在。DRM 之一(不显示为 EABI5)虽然很小(320 字节,我认为它是由 AR 创建的?)。

使用另一个工具链,一切都与这个完全相同的内核代码、Makefile 等配合得很好。我之前使用的是 musl gcc 10。

标签: gcckerneleabicrosstool-ng

解决方案


推荐阅读