www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/07/30/02:59:14

Date: Sat, 30 Jul 94 01:25:55 EDT
From: peprbv AT cfa0 DOT harvard DOT edu (Bob Babcock)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: 1.12 prerelease is available
Reply-To: babcock AT cfa DOT harvard DOT edu

Stubedit.c, starting around line 235, reads
> void num_v2s(void *addr, char *buf)
> {
>   word32 v = *(word32 *)addr;
>   sprintf(buf, "%#lx (%dk)", v, v / 1024L);
> }
 
Since this is a Turbo C program, %d is not an appropriate format for the last
argument of sprintf; it should be %ld.  If you set keepmem to a reasonable
value, this bug causes stubedit to print garbage.
 
In new112.doc I see:
> All memory will be swapped out if the process is using more than half the
> available memory, regardless of the stubinfo value.

This may be the behavior you want for development tools such as a compiler
under make, but it's the last thing you want for an end-user application.  It
means that shelling to DOS is a potentially a slow process, likely to
overflow disk swap space and die.

In any case, I couldn't get keepmem to do anything useful.  I set it to 99M,
and go32 tells me I have 15MB of DPMI memory (under os/2), yet I still
generate an 800K swap file when I shell out (using spawnl).

- Raw text -


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