X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: RadSurfer AT yahoo DOT com (Radical NetSurfer) Newsgroups: comp.os.msdos.djgpp Subject: Re: Achieving 486-Compatibility (2) Date: 7 Feb 2004 12:09:06 -0800 Organization: http://groups.google.com Lines: 46 Message-ID: References: <3405-Sat07Feb2004162009+0200-eliz AT elta DOT co DOT il> NNTP-Posting-Host: 65.120.100.70 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1076184546 11017 127.0.0.1 (7 Feb 2004 20:09:06 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Sat, 7 Feb 2004 20:09:06 +0000 (UTC) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Eli Zaretskii" wrote in message news:<3405-Sat07Feb2004162009+0200-eliz AT elta DOT co DOT il>... > > From: RadSurfer AT yahoo DOT com (Radical NetSurfer) > > Newsgroups: comp.os.msdos.djgpp > > Date: 6 Feb 2004 16:27:18 -0800 > > > > Exiting due to signal SIGSEGV > > Page fault at eip=00014def, error=0004 > > > > What is that error = 0004 ????????? > > For Page Fault, the error code of 4 means that your program attempted > to read from a bad address. (This is explained in section 12.2 of the > FAQ, btw.) > > It would be a good idea to post a complete crash traceback, complete > with the full register dump. Running SYMIFY (or, better yet, > bfdsymify) on it would be even better. Given that information, > perhaps someone around here could get some useful ideas about possible > causes for the crash. > > > the exact same identical program does seem to run > > properly on my P4 with no problems at all.... > > > > Any ideas? > > It's a bug. Page Faults cannot be caused by a bad opcode (which would > be the case if the program couldn't run on a 486): those trigger > SIGILL, not SIGSEGV. I suspect that the reason for the different > behavior is something else, like memory amount/configuration, for > example. Windows is quite lenient towards bad pointers. Bullseye! On the P4's, it is through a DOS-shell we run my application under Win9x, and on those other machines it was "pure" ms-dos (no windoze)! The program does use malloc() but I check for proper return values; and the program does do quite a bit of String_manipulation. Time for a print-out and some good old-fashion analysis! Here's a question: Say I wanted to _deliberately_ attempt to get the P4 to actually behave the same way as these other machines; Attempt to boot to ms-dos only? Is there some compile-option that would force using CWSDPMI (?), and not the Windoze DMPI, etc.? Could prove useful maybe. > As DJ suggested: debugging the program is the way to find out what > went wrong.