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 -