0

我使用 bfd.h 获取
有关 ubuntu 20.04 / amd64
代码的 bin 文件信息是

cout<<"arch: "<<bfd_get_arch_info(abfd)->arch<<"  mach:  "<<bfd_get_arch_info(abfd)->mach<<endl;
cout<<"name: "<<bfd_get_arch_info(abfd)->printable_name<<endl;
cout<<"file format: "<<bfd_get_target(abfd)<<endl;

对于在当前平台上构建的测试 bin 文件,我得到

arch: 8  mach:  8
name: i386:x86-64
file format: elf64-x86-64

对于在 ubuntu 16.04 i386 上构建的测试 bin 文件,我得到

arch: 8  mach:  4
name: i386
file format: elf32-i386

但是对于在 ubuntu 18.04 arm64 上构建的测试 bin 文件,我得到了

arch: 0  mach:  0
name: unknown
file format: elf64-little

无法读取此文件的 arch 和 mach
是否需要安装诸如 binutils-dev-arm64 之类的东西?或其他方法
我正在处理一个应该解析从 serval 系统 arch 构建的 bin 文件的项目,而且似乎没有太多关于这方面的信息。所以希望在这里得到一些帮助

4

0 回答 0