今天编译移植全志A40i平台,不想用SDK中的文件系统,于是自己编译一个busybox。
但是在上板运行后发现,SDK编译出来的tcpdump竟然在板子上运行不起来???
啥玩意??
我一度怀疑编译工具链是不是不对。于是我检查了一下SDK编译出来的tcmdump程序。
file tcpdump
tcpdump: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=12dcee4e15d4d5800641fa602f696ff19ca6b7d6, stripped
没错啊。
我又试了一下/buildroot/output/target/usr/sbin中编译出来的其他程序,是可以运行的,唯独就是这个tcpdump不能运行,这就引起我的好奇了。
按理说编译出来的都是同一个工具链的产物,凭啥有些可以运行,有些不行?认真对比一下。
sdk/A40i/buildroot/output/target/usr/sbin$
sdk/A40i/buildroot/output/target/usr/sbin$ file tcpdump
tcpdump: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV