【发布时间】:2012-11-23 19:08:39
【问题描述】:
对于为ARM 编译的共享对象,使用-a 选项调用readelf,将显示没有版本号的库,即libc.so
me@home:~ $ readelf -a shared_object_for_arm | grep "Shared library"
Type: DYN (Shared object file)
0x00000001 (NEEDED) Shared library: [libc.so]
0x00000001 (NEEDED) Shared library: [libm.so]
0x00000001 (NEEDED) Shared library: [libGLESv1_CM.so]
0x00000001 (NEEDED) Shared library: [libz.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
但是,当我对系统中的共享对象重复相同的操作时,会显示版本号。对于上述情况,我也使用了arm-linux-gnueabi-readlef,但没有任何改变。我正在x86 系统中尝试这个。
me@home:~ $ readelf -a /usr/lib/libsnmp.so.15 | grep "Shared library"
Type: DYN (Shared object file)
0x00000001 (NEEDED) Shared library: [libcrypto.so.1.0.0]
0x00000001 (NEEDED) Shared library: [libc.so.6]
除了readelf还有其他方式显示版本号吗?
【问题讨论】:
标签: linux dynamic-linking shared-libraries