Bug 000039

When Created: 11/25/1995 16:13:25
Against DJGPP version: 2.00.beta3
By whom:
Abstract: DXEs cannot be unloaded
There seems to be no way to unload a DXE file.
Free(DXEPTR) would by definition (?) only work if DXEPTR points to the beginning of the memory area occupied by the .DXE file, which is not always the case.

Workaround added: 11/30/1995 22:16:44
By whom:
You can read the symbol offset from the dxe file and subtract it
from the pointer to get the address which can be freed.  A simpler
method might be to just copy the _dxe_load function and have it 
return the pointer.  It was originally expected the load routine should
be as tiny as possible, since it gets sucked into each image.  Unless
you load hundreds of them or they are huge, it's probably not worth
messing with, since the default malloc wastes so much memory anyway.

Solution added: 12/24/1996 12:31:49
By whom:
I wrote a _dxe_unload function that simply reads the .DXE file and gets the symbol offset from there.
I can't send it now, but I could put it online on my BBS (Fido node 2:332/437, 24h) and make it available for f/r.
If you want to call, phone # is +39-51-781399 . I'll try to send it to someone that can upload it somewere, but I can't say how long it will take. :-(

PS: I'm not sure of E-Mail address... If this doesen't work, try swapping 'f' and 'n' ...

Closed on 04/13/1999 09:00:53: I think this isn't worth fixing, since a work-around is available.
By whom:

  webmaster     delorie software   privacy  
  Copyright 2010   by DJ Delorie     Updated Jul 2010