riscv-collab / riscv-gnu-toolchain

GNU toolchain for RISC-V, including GCC
Other
3.42k stars 1.13k forks source link

compiler flag similar to march=rv32i for riscv64-unknown-elf-objdump #321

Closed codelec closed 6 years ago

codelec commented 6 years ago

I have a compiler built with --enable-multilib flag so while generating rv32i binaries i use this flag -march=rv32i but objdump still generates a dump containing floating point instructions for e.g. https://github.com/librecores/riscv-sodor/blob/master/install/riscv-bmarks/vvadd.riscv https://github.com/librecores/riscv-sodor/blob/master/install/riscv-bmarks/vvadd.riscv.dump

jim-wilson commented 6 years ago

I see in the disassembly...

Disassembly of section .data:

80001cb4 : 80001cb4: 0029 c.addi zero,10 80001cb6: 0000 unimp

Disassembling data isn't useful, as it doesn't contain instructions, it contains data. So there are no actual floating point instructions here. I suspect you accidentally used -D instead of -d. -D is only useful in uncommon circumstances. You should normally use -d.

Jim

codelec commented 6 years ago

thanks