MARINECAT サポート掲示板
[記事リスト] [新着記事] [ワード検索] [過去ログ] [管理用]

タイトルWin95マシンで不正な命令
投稿日: 2002/03/02(Sat) 13:14
投稿者もと

よその掲示板で話題になったんですが、Pentium3が載った
Win95マシンにおいて Mingw-gccでコンパイルしたgogo.dllを
使用すると不正な命令の例外が発生するようです。

ちょっと調べてみたのですが、Win95ではSSEサポートされていな
いのに setPIII_round()が呼び出され、そこで例外となっている
みたいです。

エラー時の情報
---------------
WINGOGO が無効な命令を実行しました。
モジュール : GOGO.DLL、アドレス : 019f:10021926
Registers:
EAX=00009f80 CS=019f EIP=10021926 EFLGS=00010202
EBX=ffffffff SS=01a7 ESP=007af48c EBP=007af4ac
ECX=007afd80 DS=01a7 ESI=00000000 FS=67b7
EDX=00000000 ES=01a7 EDI=1003bcb0 GS=0000
Bytes at CS:EIP:
0f ae 14 24 58 c3 90 90 90 90 90 90 90 90 90 90
Stack dump:
00009f80 10021996 00000004 10021a40 ffffffff 10021965
bff74277 1003bcb0 007af4cc 1000bc27 0043a348 bff76e28
ffffffff 00407639 10000000 004357d0

dllコンパイル時のMap(該当部分のみ)
--------------------
.text 0x100214c0 0x120 dllinst.o
0x10021500 DllMain@12
.text 0x100215e0 0xb0 thread.o
0x100215e0 gogo_create_thread
0x10021630 gogo_get_cpu_count
*fill* 0x10021690 0x10
.text 0x100216a0 0x92 clka.o
0x100216a0 clkbegin
0x100216e0 clkput
0x100216c0 clkend
*fill* 0x10021732 0xe
.text 0x10021740 0x20f cpua.o
0x10021920 setPIII_round
0x10021740 haveUNITa
0x10021940 maskFPU_exception
0x100218e0 haveFPU
*fill* 0x1002194f 0x1
.text 0x10021950 0x120 cpu.o
0x100219c0 initCPU
0x10021950 haveUNIT
0x100219d0 setupUNIT
*fill* 0x10021a70 0x10


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
代理サーバー経由のアクセスか、アクセス制限されたホストからのアクセスを検出しました。投稿できません