由LLVM后端发出的新RISCV指令的目标代码生成

时间:2016-12-18 20:54:45

标签: llvm riscv object-files

来自https://github.com/riscv/riscv-llvm

  

使用llvm-riscv构建完整的可执行文件非常简单   但是你需要riscv64-unknown - * - gcc来进行组装和   链接。编译hello world的一个例子:

$ clang -target riscv64 -mriscv=RV64IAMFD -S hello.c -o hello.S
$ riscv64-unknown-elf-gcc -o hello.riscv hello.S

我的问题是:如果我更改LLVM后端并让它在hello.S文件中发出新指令,那么riscv64-unknown-elf-gcc将如何知道如何将其转换为目标代码?我还需要在riscv64-unknown-elf-gcc中进行更改,以便它知道新指令的格式吗?

1 个答案:

答案 0 :(得分:0)

riscv64-unknown-elf-gcc调用as,即通常从binutils调用GNU as,以将汇编代码(即代码段中的hello.S)汇编成可执行的机器代码。因此,如果要汇编一条新指令,则必须修改binutils。