文件命令输出--linux 版本

文件命令输出--linux 版本

为什么两个可执行文件显示不同的 Linux 版本。在 chroot 环境下进行交叉编译时。

GNU/Linux 3.6.3、
GNU/Linux 2.6.26、

Hello world 程序输出。

ignite@ignite:~/sbox2/rootfs/rfs-raspbian/home/pi$ file abc
abc: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.6.3, not stripped

我的服务器程序输出

/vscp/daemon/linux$ file vscpd
vscpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x3f673b6fdb44e8aae68e278e70f9e020d225d794, not stripped

答案1

我的第一个猜测是它们是针对不同的动态库编译的。发出“readelf -l”应该会显示它们是针对哪个加载器编译的。

相关内容