如何找出libc使用的浮点数?

时间:2016-12-16 23:26:39

标签: gcc libc

我使用的是带有GNU GCC 4.9.2的redhawk 6.5.8系统。我下载了源代码并为该平台编译了GCC作为本机编译器。

我现在需要开始编译应用程序,但是如您所知,用于我的应用程序的浮点数必须与我正在使用的libc版本兼容。

我如何知道系统中的libc(libc.so.6)是使用soft-float和hard-float构建的?

我尝试过很多命令,比如ldd,objdump,readelf,但仍然不清楚。

非常感谢

1 个答案:

答案 0 :(得分:0)

如果您有一个readelf二进制文件,可以按照以下说明进行操作[1]:

readelf -a /lib/libm.so.6 | grep FP

链接标志Tag_ABI_HardFP_use将是一个很好的线索,但是可能还有其他我不知道的标志。那个对我有用。

[1] https://www.cnx-software.com/2013/04/22/how-to-detect-if-an-arm-elf-binary-is-hard-float-armhf-or-soft-float-armel/