| カテゴリ | 重要度 | ステータス | 解決状況 | 登録日時 | 最終更新 |
|---|---|---|---|---|---|
コンパイル | 重要 (本体) | 解決済み | 修正済み | 2008-09-12 10:53 | 2009-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. | ||||
| 添付ファイル | |||||