0

在 linux 内核模块中,我有以下代码。

float temp
temp = some_function();
if(temp < 0.0f) {
printk("error");
}

我正在使用工具链为arm平台交叉编译它arm-none-linux-gnueabi-

我在这条线上得到了以下错误 if(temp < 0.0f) {

未定义的对 `__aeabi_fcmplt 的引用

我不明白为什么会这样。我是否缺少makefile中的任何链接?

4

1 回答 1

5

最后我检查了 Linux 内核中不允许使用浮点。由于您正在构建的 cpu 架构和 ABI 不支持硬件浮点,因此 GCC 正在生成对内核中不可用的软浮点函数的调用。

于 2013-09-20T06:22:44.077 回答