Mail Archives: djgpp/2001/06/29/03:46:22
> >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 -