linux内核中的浮动比较给出了链接错误

时间:2013-09-20 05:29:45

标签: c linux floating-point linux-kernel

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

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

我正在使用arm工具链

arm-none-linux-gnueabi-平台进行交叉编译

我在此行if(temp < 0.0f) {

上收到以下错误
  

对__aeabi_fcmplt

的未定义引用

我不明白为什么会发生这种情况。我是否缺少makefile中的任何链接?

1 个答案:

答案 0 :(得分:5)

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