8

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

4

1 回答 1

3

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

--with-gnu-as

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

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

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

于 2013-01-22T09:24:23.033 回答