提问人:el Kusn 提问时间:9/7/2023 更新时间:9/7/2023 访问量:115
适用于 ARM64 架构的 Objdump
Objdump for ARM64 Architecture
问:
我在具有 ARM64 (aarch64) 架构的 Ubuntu 中遇到了这个错误,其中 Objdump 无法运行。 以下命令 «objdump -d filename» 的错误消息:
filename: file format elf64-little
objdump: can’t disassemble for architecture UNKNOWN!
我不确定 objdump 是否甚至可以在 Aarch64 架构上运行。有人有什么想法吗?或者是否有任何其他命令可以反汇编 ETF 文件?
答:
0赞
Peter Cordes
9/7/2023
#1
GNU Binutils 只能处理构建时选择的一种架构。在 AArch64 Linux 系统上,系统命令将为 aarch64-linux-gnu 对象文件配置,但事实并非如此。如果你安装了跨工具链,你可以使用它。objdump
x86-64-linux-gnu-objdump
但是您可能已经安装了可以处理各种体系结构的反汇编程序:llvm-objdump -d
LLVM 可以(并且确实)将对多个目标的支持构建到一个工具构建中。 将简单地自动检测架构并拆卸。( 编译任何被配置为用作默认值的目标,通常是本机目标。但是,例如,至少对于不需要特定于MIPS的标头或库来链接的东西是有效的。llvm-objdump
clang
clang -c -target mips
评论
file filename
llvm-objdump -d
llvm-objdump
clang
clang -target mips