jon*_*scb 20 linux executable elf
每当我在 ELF 二进制文件上运行文件时,我都会得到以下输出:
[jonescb@localhost ~]$ file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9,
not stripped
Run Code Online (Sandbox Code Playgroud)
我只是想知道在 Linux 2.6.9 中有什么变化,这个二进制文件不能在 2.6.8 上运行?Linux 2.0 中没有添加 ELF 支持吗?
Mic*_*zek 25
glibc有一个名为的配置选项--enable-kernel,可让您指定支持的最低内核版本。当目标文件与该 glibc 构建链接时,链接器将 SHT_NOTE 部分添加到名为.note.ABI-tag包含该最低内核版本的生成可执行文件中。确切的格式在LSB 中定义,并且file知道查找该部分以及如何解释它。
您的特定 glibc 需要 2.6.9 的原因取决于构建它的人。在我的系统(Gentoo)上也是这样;glibc ebuild 中的注释说它指定 2.6.9 因为它是NPTL所需的最小值,所以这可能是一个常见的选择。另一个似乎出现的是 2.4.1,因为它是LinuxThreads的最低要求,在 NPTL 之前使用的包
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |