让ldd在arm-linux手机上运行起来

本文介绍了如何在ARM Linux环境下使用ldd工具查看.so文件的依赖情况。通过将x86环境下的ldd脚本移植到ARM平台, 实现了类似的功能, 为开发者提供了便利。

ldd for x86非常好用,可以看so文件依赖于哪些其他的so。

那么在arm-linux下面能不能也有这么一个程序呢?

以前都是在x86下使用arm-linux-readelf来读取arm so的share library,总是感觉没有ldd来的顺手。

使用gentoo linux,用qfile查询了一下,发现ldd竟然是属于gcc编译器带的东西,用file看了一下/usr/bin/ldd,竟然是一个脚本文件,把这个脚本拷贝到arm-linux手机上,竟然也能跑起来,而且给出so的链接信息。

(写文章的时候在arm-linux-gcc 3.4.2的包中也发现有ldd这个命令,呵呵)

luyanxi@ubuntu:~/Desktop/nvr/nvr_2025/sstar931/toolchain/bin$ ls arm-sigmastar-linux-uclibcgnueabihf-9.1.0-addr2line arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc-ranlib arm-sigmastar-linux-uclibcgnueabihf-9.1.0-populate arm-sigmastar-linux-uclibcgnueabihf-elfedit arm-sigmastar-linux-uclibcgnueabihf-ld.bfd arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ar arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcov arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ranlib arm-sigmastar-linux-uclibcgnueabihf-g++ arm-sigmastar-linux-uclibcgnueabihf-ldd arm-sigmastar-linux-uclibcgnueabihf-9.1.0-as arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcov-dump arm-sigmastar-linux-uclibcgnueabihf-9.1.0-readelf arm-sigmastar-linux-uclibcgnueabihf-gcc arm-sigmastar-linux-uclibcgnueabihf-libc.config arm-sigmastar-linux-uclibcgnueabihf-9.1.0-c++ arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcov-tool arm-sigmastar-linux-uclibcgnueabihf-9.1.0-size arm-sigmastar-linux-uclibcgnueabihf-gcc-9.1.0 arm-sigmastar-linux-uclibcgnueabihf-nm arm-sigmastar-linux-uclibcgnueabihf-9.1.0-cc arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gdb arm-sigmastar-linux-uclibcgnueabihf-9.1.0-strings arm-sigmastar-linux-uclibcgnueabihf-gcc-ar arm-sigmastar-linux-uclibcgnueabihf-objcopy arm-sigmastar-linux-uclibcgnueabihf-9.1.0-c++filt arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gdb-add-index arm-sigmastar-linux-uclibcgnueabihf-9.1.0-strip arm-sigmastar-linux-uclibcgnueabihf-gcc-nm arm-sigmastar-linux-uclibcgnueabihf-objdump arm-sigmastar-linux-uclibcgnueabihf-9.1.0-cpp arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gprof arm-sigmastar-linux-uclibcgnueabihf-addr2line arm-sigmastar-linux-uclibcgnueabihf-gcc-ranlib arm-sigmastar-linux-uclibcgnueabihf-populate arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ct-ng.config arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ld arm-sigmastar-linux-uclibcgnueabihf-ar arm-sigmastar-linux-uclibcgnueabihf-gcov arm-sigmastar-linux-uclibcgnueabihf-ranlib arm-sigmastar-linux-uclibcgnueabihf-9.1.0-elfedit arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ld.bfd arm-sigmastar-linux-uclibcgnueabihf-as arm-sigmastar-linux-uclibcgnueabihf-gcov-dump arm-sigmastar-linux-uclibcgnueabihf-readelf arm-sigmastar-linux-uclibcgnueabihf-9.1.0-g++ arm-sigmastar-linux-uclibcgnueabihf-9.1.0-ldd arm-sigmastar-linux-uclibcgnueabihf-c++ arm-sigmastar-linux-uclibcgnueabihf-gcov-tool arm-sigmastar-linux-uclibcgnueabihf-size arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc arm-sigmastar-linux-uclibcgnueabihf-9.1.0-libc.config arm-sigmastar-linux-uclibcgnueabihf-cc arm-sigmastar-linux-uclibcgnueabihf-gdb arm-sigmastar-linux-uclibcgnueabihf-strings arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc-9.1.0 arm-sigmastar-linux-uclibcgnueabihf-9.1.0-nm arm-sigmastar-linux-uclibcgnueabihf-c++filt arm-sigmastar-linux-uclibcgnueabihf-gdb-add-index arm-sigmastar-linux-uclibcgnueabihf-strip arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc-ar arm-sigmastar-linux-uclibcgnueabihf-9.1.0-objcopy arm-sigmastar-linux-uclibcgnueabihf-cpp arm-sigmastar-linux-uclibcgnueabihf-gprof nvrfault.1061.11.1757325811.core arm-sigmastar-linux-uclibcgnueabihf-9.1.0-gcc-nm arm-sigmastar-linux-uclibcgnueabihf-9.1.0-objdump arm-sigmastar-linux-uclibcgnueabihf-ct-ng.config arm-sigmastar-linux-uclibcgnueabihf-ld luyanxi@ubuntu:~/Desktop/nvr/nvr_2025/sstar931/toolchain/bin$ arm-sigmastar-linux-uclibcgnueabihf-gdb arm-sigmastar-linux-uclibcgnueabihf-gdb: command not found luyanxi@ubuntu:~/Desktop/nvr/nvr_2025/sstar931/toolchain/bin$ arm-sigmastar-linux-uclibcgnueabihf-gdb nvrfault.1061.11.1757325811.core arm-sigmastar-linux-uclibcgnueabihf-gdb: command not found
最新发布
09-09
是不是得用厂家工具链里的编译器编译 bell@bell-virtual-machine:~/nm/nvr_2025/torchlight/staging_dir/toolchain-arm-openwrt-linux-uclibcgnueabihf/bin$ ls arm-buildroot-linux-uclibcgnueabihf-addr2line arm-buildroot-linux-uclibcgnueabihf-ar arm-buildroot-linux-uclibcgnueabihf-as arm-buildroot-linux-uclibcgnueabihf-c++ arm-buildroot-linux-uclibcgnueabihf-c++.br_real arm-buildroot-linux-uclibcgnueabihf-cc arm-buildroot-linux-uclibcgnueabihf-cc.br_real arm-buildroot-linux-uclibcgnueabihf-c++filt arm-buildroot-linux-uclibcgnueabihf-cpp arm-buildroot-linux-uclibcgnueabihf-cpp.br_real arm-buildroot-linux-uclibcgnueabihf-elfedit arm-buildroot-linux-uclibcgnueabihf-g++ arm-buildroot-linux-uclibcgnueabihf-g++.br_real arm-buildroot-linux-uclibcgnueabihf-gcc arm-buildroot-linux-uclibcgnueabihf-gcc-4.9.4 arm-buildroot-linux-uclibcgnueabihf-gcc-4.9.4.br_real arm-buildroot-linux-uclibcgnueabihf-gcc-ar arm-buildroot-linux-uclibcgnueabihf-gcc.br_real arm-buildroot-linux-uclibcgnueabihf-gcc-nm arm-buildroot-linux-uclibcgnueabihf-gcc-ranlib arm-buildroot-linux-uclibcgnueabihf-gcov arm-buildroot-linux-uclibcgnueabihf-gdb arm-buildroot-linux-uclibcgnueabihf-gprof arm-buildroot-linux-uclibcgnueabihf-ld arm-buildroot-linux-uclibcgnueabihf-ld.bfd arm-buildroot-linux-uclibcgnueabihf-ldconfig arm-buildroot-linux-uclibcgnueabihf-ldd arm-buildroot-linux-uclibcgnueabihf-nm arm-buildroot-linux-uclibcgnueabihf-objcopy arm-buildroot-linux-uclibcgnueabihf-objdump arm-buildroot-linux-uclibcgnueabihf-ranlib arm-buildroot-linux-uclibcgnueabihf-readelf arm-buildroot-linux-uclibcgnueabihf-size arm-buildroot-linux-uclibcgnueabihf-strings arm-buildroot-linux-uclibcgnueabihf-strip
09-03
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值