一、Clang/LLVM对RISCV的支持概况
目前已经有一系列的C类编译器和库开始支持RISCV,这其中包括了GCC和Clang/LLVM。从RISCV的官方网站,可以获取目前的支持状态。具体内容如下:
网址:https://riscv.org/software-status/#c-compilers-and-libraries
该列表中还包含了所支持的License和Maintainers。其中,Clang/LLVM的Maintainers是Alex Bradbury,这位大神是LLVMWEEKLY的创建者和维护者,这个周报目前已经做到了331期,地址:http://llvmweekly.org/。
Alex Bradbury目前在剑桥一家叫lowRISC的非营利性机构里,这家机构也是RISCV基金会的成员(Silver级别),lowRISC的官网地址:https://www.lowrisc.org/。
二、Clang源码中的RISCV支持概况
目前Clang源码之中的RISCV相关代码,主要位于以下几个部分:
1、Driver部分
clang/lib/Driver/ToolChains/RISCVToolchain.h
clang/lib/Driver/ToolChains/RISCVToolchain.cpp
clang/lib/Driver/ToolChains/Arch/RISCV.h
clang/lib/Driver/ToolChains/Arch/RISCV.cpp
这部分代码,主要是用来构建Clang的RISCV toolchain。toolchain是Clang中的一个概念,这个概念主要是用来访问一个平台的多个tools的(注释原文:ToolChain - Access to tools for a single platform.)。有关ToolChain的内容