assembly 面向ARM64架构的Objdump

vatpfxk5  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(177)

我在Ubuntu中遇到了这个错误,ARM 64(aarch 64)架构的Objdump不想运行。以下命令的错误消息«objdump -d filename»:

filename: file format elf64-little
objdump: can’t disassemble for architecture UNKNOWN!

我不确定objdump是否运行在Aarch 64架构上。有人有什么想法吗?还是有其他命令来反汇编ETF文件?

o0lyfsai

o0lyfsai1#

GNU Binutils只能处理在构建时选择的一种架构。在AArch 64 Linux系统上,系统objdump命令将被配置为aarch 64-linux-gnu对象文件,而这不是。如果你安装了x86-64-linux-gnu-objdump交叉工具链,你可以使用它。
但是你可能已经安装了一个反汇编器,可以处理各种架构:

llvm-objdump -d

LLVM可以(并且确实)将对多个目标的支持构建到工具的一个构建中。llvm-objdump将简单地自动检测体系结构并进行反汇编。(clang编译任何目标被配置为使用默认值,通常是本机目标。但是clang -c -target mips可以工作,例如,至少对于那些不需要特定于MIPS的头文件或链接库的东西。

相关问题