不同版本gcc编译编译相同kernel source code 的问题

来源:互联网 发布:java数组去重复数字 编辑:程序博客网 时间:2024/05/04 17:37

前一段时间,针对公司的设备(使用486sx的cpu,不带浮点运算单元,编译kernel的时候需要模拟FPU)在Fedora11上进行编译了一个486的kernel 在设备上运行,基本测试都OK,不过最近客户反应有问题,问题是计算三角函数的结果和有FPU的设备相差很大,我自己安装好系统测试,结果确实是。很奇怪阿,难道是浮点运算模拟出错了? 公司另外一个部门也有一个使用相同CPU的板子,于是将它们的板子运行起来看看,看看他们的板子浮点运算是不是好的,奇怪,怎么他们的就是好的。当我相信询问他们是如何编译的,询问中发现,他们是在Fedora 8 上编译通过的。难道是这个问题,只能以事实说话了。重新在Fedora 8 下编译,果然三角函数计算结果就正常了,看来不同的gcc 版本对 kernel 的编译影响还是挺大的,想想 可能是因为 Fedora 8 的gcc 还是针对 i386的(虽然不一定能在386上面运行),Fedora 11是i686的。这应该就是不同吧!