From: axlq AT unicorn DOT us DOT com (to comp.os.msdos.djgpp) Newsgroups: comp.os.msdos.djgpp Subject: Pentium "General Protection Fault" (works on 486) Date: 31 Aug 1999 19:51:21 GMT Organization: a2i network Lines: 48 Message-ID: <7qhbnp$3rp$1@samba.rahul.net> NNTP-Posting-Host: waltz.rahul.net NNTP-Posting-User: unicorn To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I am experiencing a wierd situation where a program compiles and runs PERFECTLY well using DJGPP on my 80486 laptop, but crashes, before the execution even gets into main(), with the following message on my 233 MHz pentium desktop: Exiting due to signal SIGSEGV General Protection Fault at eip=0000d724 eax=00000046 ebx=5b8bd889 ecx=00002f2c edx=00000004 esi=0000000d edi=000a1534 ebp=000a1528 esp=000a1518 program= cs: sel=00af base=83781000 limit=000affff ds: sel=00b7 base=83781000 limit=000affff es: sel=00b7 base=83781000 limit=000affff fs: sel=0087 base=00012000 limit=0000ffff gs: sel=00c7 base=00000000 limit=0010ffff ss: sel=00b7 base=83781000 limit=000affff App stack: [000a16bc..000216bc] Exceptn stack: [00021610..0001f6d0] Call frame traceback EIPs: 0x0000d724 0x0000ac55 0x0000ae55 Compiling it through RHIDE with full debugging revealed that the execution doesn't even make it into main()! It crashes before then. And yet, it compiles and runs just fine on my 486. I can compile other programs on my pentium and they run OK. The program is a public-domain textfile-format-translator of timed scripts for subtitling foreign films, and the author is interested in porting it to various platforms. So I agreed to help - a simple matter, as it works fine on POSIX, FreeBSD, AmigaDOS, and MSDOS on my 486 - just not my pentium desktop! The version I'm working on is at my FTP site, ftp://ftp.unicorn.us.com/pub/sconv126.lzh -- the makefile.dj is what I'm using to build it. The code does nothing fancy, except perhaps having lots of cross-references between modules. It's a quick-compiling program with small modules that compiles without errors and just a few inconsequential warnings (unused variables etc.). Both computers are running the same version of Windows 95, with DJGPP/RHIDE running in a DOS window. Typing gcc --version on the desktop says "2.81" -- not sure what the laptop version is (it's at home and I'm not, at the moment). Shed some light, anyone? -Alex