使用するアセンブラのパスを変更する GCC のオプションはありますか? /usr/ccs/bin/as
GCC を使用して Haskell をコンパイルしようとすると、Solaris からエラーが発生しますas
が、パスに GNU のコピーがあるため、入力するwhich as
とas --version
、Solaris バージョンではなく GNU バージョンが使用されます。残念ながら、GCC はパス内の GNU バージョンを無視し、Solaris バージョンに移動するようです。Solaris で Haskell をビルドしようとしていますが、Solaris アセンブラとうまく適合しないと思います。GCC を再コンパイルする必要がないように、単純なラッパー スクリプトを使用してこの動作を変更できることを願っています。
3700 次
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 に答える