LLVM 编译器工具链有一个与普通 gcc 兼容的 gcc。使用 llvm-gcc 的优点是可以访问任意目标,这意味着当您尝试编译为随机架构时,普通 gcc 会说没有这样的目标,比如 mips-apple-darwin。然而,llvm-gcc 实际上会在 mips 处理器上为 Mac OS X 构建编译器。
然而,这里有一个问题:要构建到随机目标,您需要已经为该目标构建的 binutils。因此,如果您有一个 llvm 可以编译到但 binutils 不能编译的目标,那么您就无法制作编译器,因为 GNU Binutils 不支持该目标。
所以...这里的问题是:是否有与 GNU Binutils 兼容的等效 llvm-binutils,例如 llvm-gcc?(意思是构建到任意目标,而不是列表中的一个。)
编辑:
任意,我的意思是我在运行 llvm-gcc 时不选择目标,我在编译 llvm-gcc 时选择目标。含义:如果我尝试为 mips-apple-darwin 编译 GCC,我会得到一个不支持的目标。但是如果我为 mips-apple-darwin 构建 llvm-gcc,只要我有 mips-apple-darwin-as 和 mips-apple-darwin-ld,它就可以工作。