www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2008/01/15/09:01:23

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: "Rod Pemberton" <do_not_have AT nohavenot DOT cmm>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: 32-bit version has problems: memory leak, etc. was, gcc as a linker....
Date: Tue, 15 Jan 2008 08:51:37 -0500
Organization: Aioe.org NNTP Server
Lines: 29
Message-ID: <fmidl0$kad$1@aioe.org>
References: <478b3603$0$36444$4fafbaef AT reader5 DOT news DOT tin DOT it> <fmfik2$fvr$1 AT aioe DOT org>
NNTP-Posting-Host: IVw7K97ih4IohxRqyKkqFw.user.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse AT aioe DOT org
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-Priority: 3
X-MSMail-Priority: Normal
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Rod Pemberton" <do_not_have AT nohavenot DOT cmm> wrote in message
news:fmfik2$fvr$1 AT aioe DOT org...
> The proper method is much longer in
> assembly.  I was hoping to find a shorter method.  This would be useful to
> me, so I may get back to you on the 32-bit version.

I've worked on a 32-bit version.  If you understood the 16-bit version, you
wouldn't understand this...

I wrote it in assembly the way I would've for DJGPP C and DPMI.  It worked
with Windows 98SE's DPMI host but didn't work for DOS, i.e., a coding error.
I tracked one problem to the use of temporary memory DJGPP can use, called a
transfer buffer, which I was using.  I couldn't tell at first whether the
problem was due to the use of the transfer buffer or from directly calling
int 0x31,ah=300h (DPMI).  DJGPP wraps the int 0x31,ah=300h function in code
which works differently depending on whether the DPMI host is busy.  The DOS
version for the CWSDPMI DPMI host would work twice and fail the third
time...  This was due to the transfer buffer being modified, used, or
corrupted by DOS.  I'll rewrite it to allocate memory from DOS properly and
see if that works.  However, another issue remains.  Another DOS DPMI host,
PMODEDJ, fails with "No memory to gather arguments" after a few runs.  This
is an error internal to DJGPP (c1xmalloc() in c1args.c) indicating some sort
of memory leak.  Since I haven't allocated anything and both Windows 98SE's
and CWSDPMI DPMI hosts work, it's probably not an error on my part... i.e.,
PMODEDJ's, or less likely DJGPP's.


Rod Pemberton

- Raw text -


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