如何选择GCC使用的汇编器?

如何选择GCC使用的汇编器?,gcc,assembly,Gcc,Assembly,GCC是否有一个选项可以更改它使用的汇编程序的路径?当使用GCC试图编译Haskell时,我从Solaris/usr/ccs/bin/as中得到了错误,但是我的路径中有一个GNUas,所以当我键入作为和作为--version时,它们使用的是GNU版本,而不是Solaris版本。不幸的是,GCC似乎忽略了路径中的GNU版本,并转到Solaris版本。我正在尝试在Solaris上构建Haskell,但我认为它与Solaris汇编程序不兼容。我希望我可以用一个简单的包装器脚本来改变这种行为,这样我就不

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

在运行时指定要使用的汇编程序是不可能的。在配置gcc时必须这样做:

——gnu为

指定编译器应该假定它找到的汇编器是GNU 汇编程序。但是,这不会修改规则以查找汇编器,并将 如果找到的汇编器实际上不是GNU汇编器,则会导致混淆。 (如果编译器找到GNU汇编程序,但没有找到,也可能导致混淆。) 已配置为--gnu为。)

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

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

那么-B标志(gcc版本6)呢?