如何选择GCC使用的汇编程序?

Cli*_*ton 5 assembly gcc

是否有一个GCC选项可以改变它使用的汇编程序的路径?当我/usr/ccs/bin/as使用GCC尝试编译Haskell时,我从Solaris收到错误,但是as我的路径中有一份GNU副本,因此当我键入which asas --version使用GNU版本而不是Solaris版本时.不幸的是,似乎GCC忽略了路径中的GNU版本并转到了Solaris版本.我正在尝试在Solaris上构建Haskell,我不认为它与Solaris汇编程序配合得很好.我希望我可以用一个简单的包装器脚本来改变这种行为,所以我不必重新编译GCC.

Chr*_*ris 3

在运行时不可能指定要使用的汇编器。配置 gcc 时必须完成:

--with-gnu-as

指定编译器应假定它找到的汇编器是 GNU 汇编器。但是,这不会修改查找汇编器的规则,并且如果找到的汇编器实际上不是 GNU 汇编器,则会导致混乱。 (如果编译器找到 GNU 汇编器但尚未使用 --with-gnu-as 配置,也可能会导致混乱。)

请注意我用斜体字显示的部分。当然,您可以暂时更改/usr/ccs/bin/as为调用 gnu 汇编器(前提是您具有必要的权限),但上面的内容似乎表明您很可能会遇到问题。gcc 构建过程实际上检查汇编器支持的功能并为该汇编器生成代码。

我建议您首先构建一个新版本的 gcc(配置为使用 gnu 工具),然后使用它来构建 ghc。