【发布时间】:2019-07-09 20:31:20
【问题描述】:
我正在尝试使用 riscv64-unknown-elf-objdump 反汇编 risc-v 二进制文件,并且我想获得在硬件中看到的寄存器名称(如 x0-x31),而不是在 abi 中(sp,s0 , 一个..)。
objdump 手册似乎没有为 RISC-V 提供这样的选项。事实上,该手册似乎没有任何与 RISC-V 相关的信息。 ARM有-M reg-names-raw,有没有人知道这样的标志是否可用?
riscv64-unknown-elf-objdump -M"no-aliases" -M"gpr-names-raw" -d hello
-> 返回
0:riscv64-unknown-elf-objdump:无法识别的反汇编程序选项:gpr-names-raw
gpr-names-raw 或 reg-names=ARCH 都不是公认的选项
我想要这样的东西:
addi x1,x1,-32
sw x2,28(x3)
addi x5,x5,32
而不是这个
addi sp,sp,-32
sw s0,28(sp)
addi s0,sp,32
【问题讨论】:
-
根据 binutils 源代码,
-Mnumeric应该可以工作。objdump --help也应该打印 "numeric 打印数字寄存器名称,而不是 ABI 名称。" -
@jester 谢谢!这正是我所需要的
标签: assembly disassembly cpu-registers riscv objdump