小编oda*_*rcy的帖子

RISCV反汇编选项数字和无别名

我克隆了riscv-tools存储库(主分支),并遵循构建过程。一切都很好。

然后,我尝试为RV32IM指令集编译hello world程序,方法是:

riscv64-unknown-elf-gcc -m32 -march=RV32IM -o hello hello.c -save-temps
Run Code Online (Sandbox Code Playgroud)

我使用选项save-temps保留中间文件。(hello.s,hello.i,hello.o)

到目前为止一切正常,我可以使用以下命令运行hello world程序:

spike pk hello
Hello world!
Run Code Online (Sandbox Code Playgroud)

现在,我想看看该程序的汇编代码。我做了以下工作,并将汇编代码放到了hello.dump中

riscv64-unknown-elf-objdump -D -S -l -F  hello.o > hello.o.dump
Run Code Online (Sandbox Code Playgroud)

现在,我将感兴趣的是没有伪指令且具有非ABI寄存器名称的汇编代码。

当我这样做时,似乎可以做到:

riscv64-unknown-elf-objdump --target-help
Run Code Online (Sandbox Code Playgroud)

我得到这个:

The following RISC-V-specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):

numeric       Print numeric reigster names, rather than ABI names.

no-aliases    Disassemble only into canonical instructions, rather
              than into pseudoinstructions.
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试添加这些选项时,它不起作用。

riscv64-unknown-elf-objdump -D -S -l -F  -Mno-aliases hello.o > …
Run Code Online (Sandbox Code Playgroud)

disassembly riscv

3
推荐指数
1
解决办法
971
查看次数

标签 统计

disassembly ×1

riscv ×1