2011-07-04 14 views
1

GCCクロスコンパイラを使用してARMプラットフォームにコンパイルしています。私はopitmization -O3を使用すると、一時ファイルccm4baaa.sの "offset(4104)の値が正しくない"という問題が発生します。このファイルも見つかりません。ARMアセンブラ:オフセットの即値が不正です

これをデバッグする方法、またはエラーの原因を見つける方法はありますか?私はそれがhyper.cのどこかにあることを知っていますが、hyper.cにエラーが表示されていないので見つけることは不可能です。上記の謎めいたエラーメッセージだけ。

よろしく

氏Gigu

+0

どのバージョンのコンパイラですか? –

+0

.sテンポラリアセンブリファイルが、オブジェクトファイルを作成する途中でコンパイラによって作成されたものであれば、コンパイラのバグのように思えます。あなたのGCCコンパイラに関する正確なバージョン/異形情報を取得し、そのバージョンの "既知のバグ"を検索します(最新のものがないと仮定して、それ以降のバージョンで修正されたバグを検索します)。 – Dan

答えて

1

GCCの以前のリリースでは同様の既知のバグがありました。あなたのGCCツールチェーンのバージョンを更新するだけの問題かもしれません。現在どちらを使用していますか?

+0

私はarm-elf-gccを使っています。3.4.3 – MrGigu

+0

私が覚えていれば、GCCは4.6.0です。あなたのツールチェーンをアップグレードしたいと思います。 – tangrs

+1

はい、実際には非常に古いツールチェーンを使用しています。これをCodeSourceryから試してみましょう:http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@ template = lite – NullPointer

0

問題をデバッグして問題の原因を見つけるには、gccオプション-save-tempsをコンパイルに追加すると便利です。結果として、コンパイラは中間アセンブリファイル(およびプリプロセッサ出力)を保持して検査することができます。

関連する問題