From: Nate Eldredge Newsgroups: comp.os.msdos.djgpp Subject: Re: Where can I get a Thread safe malloc debugger? Date: 03 Jul 2000 21:14:42 -0700 Organization: Posted via Supernews, http://www.supernews.com Lines: 33 Sender: nate AT mercury DOT bitbucket Message-ID: <83bt0ev8el.fsf@mercury.bitbucket> References: <83u2e7ugxf DOT fsf AT mercury DOT bitbucket> <200007032021 DOT XAA00806 AT mailgw1 DOT netvision DOT net DOT il> X-Complaints-To: newsabuse AT supernews DOT com User-Agent: Gnus/5.0802 (Gnus v5.8.2) Emacs/20.5 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Eli Zaretskii" writes: > > From: Nate Eldredge > > Newsgroups: comp.os.msdos.djgpp > > Date: 03 Jul 2000 12:55:56 -0700 > > > > > > No, it won't, not unless you have a DPMI 1.0 server which supports > > > page-level protection. Sorry. > > > > This is exactly what YAMD does, actually. > > I don't think so. IIRC, YAMD unmaps pages from the program's address > space using a call that CWSDPMI supports (the same call that is > requirted for NULL pointer protection). Electric Fence needs more > than that: it needs protection at page level (as opposed to at segment > level). I forget the details, but anyone who looks at the sources > will see it. ??? No, they really are the same thing. Trust me ;-). Both of them call mprotect(...,PROT_NONE). This causes one or more pages to be unmapped from the process's address space. But neither use any more elaborate "protection" than this. Btw, the only other kinds of protection possible at the page level on x86 are read-only (which is not useful in this kind of system) and user/supervisor (which is obviously irrelevant), AFAIK. -- Nate Eldredge neldredge AT hmc DOT edu