Vine Linux バグトラッキングシステム

課題の詳細を表示 コメントにジャンプ ] 課題の履歴 ] 印刷 ]
IDプロジェクトカテゴリ登録日最終更新
0002684Vine Linux1 バグ2013-11-06 11:452013-11-09 17:07
報告者shuei 
担当者yasumichi 
優先度再現性毎回 
状態完了解決状況修正不要 
バージョンVineSeed 
修正予定バージョン修正済バージョン 
概要0002684: gccに最適化オプションを付けるとgasがエラーを出す
説明x86_64環境でgcc 4.8.1 + binutils 2.22からgcc 4.8.2 + binutils 2.23に更新したところ、に最適化オプションを付けてコンパイルするとgasが以下のようなエラーを出すようになりました:

==== ここから ====
% gcc -O -c sum.c
tmp/ccDJfS3s.s: Assembler messages:
/tmp/ccDJfS3s.s:17: Error: expecting string instruction after `rep'
==== ここまで ====

sum.cは以下のようなソースコードです:
==== ここから ====
int sum(int n)
{
   int sum = 0;
   int i;
   for (i=1; i<=n; i++) {
      sum += i;
   }
   return sum;
}
==== ここまで ====

-O1/-O2/-O3でも同様のエラーが出ます。i686環境だとアセンブラはエラーを出しません。
gcc 4.8.1と4.8.2のアセンブラ出力を比べると、今まで "rep; ret" だったのが "rep ret" になったのが原因のようです。
タグ設定されていません。
archx86_64
パッケージgcc-4.8.2-1vl7 binutils-2.23.2-1vl7
添付ファイル

- 関連

-  コメント
(0008308)
shuei (報告者)
2013-11-09 16:02

お騒がせしました。解決しました。

原因はbinutils 2.22のasやldが/binにインストールされていて、binutils-2.23.2-vl7のasが使われていませんでした。野良インストールされていたbinutilsを削除したら正常にコンパイルできるようになりました。

御手数ですが状態を解決済にしていただけないでしょうか。
よろしくお願いします
(0008309)
yasumichi (開発者)
2013-11-09 17:07

修正不要として完了にします。

- 課題の履歴
変更日 ユーザー名 項目 変更内容
2013-11-06 11:45 shuei 新規課題
2013-11-09 16:02 shuei コメント追加: 0008308
2013-11-09 17:07 yasumichi コメント追加: 0008309
2013-11-09 17:07 yasumichi 状態 新規 => 完了
2013-11-09 17:07 yasumichi 担当者 => yasumichi
2013-11-09 17:07 yasumichi 解決状況 不明 => 修正不要


Copyright © 2000 - 2024 MantisBT Team
Copyright © 2012 - 2024 Project Vine
Powered by Mantis Bugtracker