[ オリジナルレポート ]

BugID: #02232

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
コンパイル重要 (本体)解決済み修正済み2008-09-12 10:532009-02-04 05:10
 
テスターTerryn担当者 ソース
バージョン0.127u3発生バージョン修正バージョン0.129u1
フラグ
セット
セット詳細
 
概 要ARCHOPT -msse4.1と-O3を組み合わせるとバイナリがおかしくなる。
詳 細Compiling MAME with SSE 4.1 set and with an optimize level of 3 breaks the binary, throwing an access violation at binary load. This is, as far as I can tell, only caused by this combination of compiler settings. -march settings do not affect the outcome, nor does making the build a debug build, and any level of optimisation below 3 (I tested 0 and 2) yields a working binary with SSE 4.1.

Tested with binutils 2.18.50.20080109. Compilers 4.3.0-mingw and 4.3.2-tdm-1 (mingw) yield the same result on an e8400 in Windows XP SP3 (32-bit).

-----------------------------------------------------
Exception at EIP=00AAA9E8: ACCESS VIOLATION
While attempting to read memory at FFFFFFFF
-----------------------------------------------------
EAX=00000030 EBX=00AAA820 ECX=00000000 EDX=02B2044C
ESI=00000000 EDI=021AE95F EBP=0022FDD8 ESP=0022FD40
再現手順Compile with -O3 and ARCHOPTS = -msse4.1 flags (GCC 4.3.0+ / binutils 2.18+), and run on a SSE 4.1 capable processor.
追加情報FWIW, this could definitely be a compiler bug, but if so it has persisted among 4.3.X GCC versions. It's definitely a strong enough possibility for the Possible flag.
 
添付ファイル