8

使用するアセンブラのパスを変更する GCC のオプションはありますか? /usr/ccs/bin/asGCC を使用して Haskell をコンパイルしようとすると、Solaris からエラーが発生しますasが、パスに GNU のコピーがあるため、入力するwhich asas --version、Solaris バージョンではなく GNU バージョンが使用されます。残念ながら、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 に答える