delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/06/29/03:46:22

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: DPMI features [was Re: Peculiar behavior of program.]
Date: Fri, 29 Jun 2001 0:43:10
Organization: Aspen Technology, Inc.
Lines: 53
Message-ID: <3b3bcf1e.sandmann@clio.rice.edu>
References: <3b3bc134 DOT sandmann AT clio DOT rice DOT edu
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 993794048 9716 10.32.115.107 (29 Jun 2001 05:54:08 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 29 Jun 2001 05:54:08 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> >Commercial software has shipped using DJGPP as the compiler and run-time.
> >If you pay for something, you expect it to work on your platform.
> 
> Yeah, it was called Quake and it also shipped with CWSDPMI.

Quite a bit more than Quake, actually.  And some additional major packages
to come in the future.

> You're joking, right? [supressing null page detection] is not a feature, 
> it's the absence of a bug.  Any host that doesn't trap errors like those 
> has a bug, rather than lacks a feature, IMHO.

It could be argued that Windows is the most successful software ... and 
people keep buying it, even though it lacks this feature :-)

It's there because of this scenario (real).  Someone writes an application
and ONLY tests it under Windows.  It touches null pointers (buggy) but 
works.  Until you run with CWSDPMI, it crashes.  Original author for 
whatever reason did not release source and is unavailable, but someone
wants to run the application.  Absence of feature [above] in their mind
is a good thing :-)

> Actually, what was under discussion was its use in auto-detecting the
> host vendor and version.

See other note on how to enhance debugging - hacking CWSDPMI or customizing
it isn't needed.  And if someone has set the above flag - detection of
CWSDPMI would fail...

> >A signature was added to r5 of CWSDPMI (0x401 - a DPMI 1.0 function) at
> >Eli's request.  However r4 did not support this, and there are hundreds
> >of thousands of copies of CWSDPMI r4 and earlier out there.
> 
> And anyone who needs the ident code can get this feature for the
> all-time low price of ... $0.00!

And the source if they don't like it - and rebuild it ...

> >But if anyone really needs CWSDPMI ident code, the page table locating
> >code is very specific to CWSDPMI, and works since early betas.  However,
> >this is a very bad thing to do unless you know exactly why you are doing
> >it...
> 
> It wasn't for end programmers to mess with; I was considering the idea
> of a CWSDPMI with some extra features to add debugging abilities, and
> DJGPP startup code changes to detect and activate/support those
> features, after it got mentioned that DPMI proper is rather limited
> when it comes to debugging support.

If you are serious about spending time on enhancements, more bullet 
proof ways to fix it using read only sections and non-mapped memory
sections.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019