Mail Archives: djgpp/1997/10/28/02:27:31
> 1. In `src/libc/crt0/crt1.c', in function setup_core_selector(), the _dos_ds
> selector is created. I glean from the spec that the newly allocated selector
> has a base and limit of 0. On the next line, however, the limit is set to
> -1, so that _dos_ds can span the entire address space. I suppose this isn't
> too much of a safety issue, since using _dos_ds can screw over DOS anyway.
> But according to FAQ section 18.6, some OS's, such as Windows NT and Dosemu,
> will refuse to honor a request to make such a huge segment. In this case, I
> assume, _dos_ds would be left with a limit of 0, and any attempt to use it
> would seg out. I would think that a better alternative would be to try again
> with a more reasonable limit, perhaps 1M. Otherwise, access to the low 1M
> would break on these systems, and things such as graphics would fail to work.
This has already been discussed, and is on DJ's "wish list" for the next
version. He only quickly added the 4Gb limit on _dos_ds so that some devices
whose memory is mapped above 1Mb could be accessed, and only found out after
the release that it wouldn't work anyway. (Or something to that effect...)
So the next DJGPP version will have (hopefully) a 1Mb limit again. If people
were having trouble with this I guess it would be too hard to fix and
Great observations on your part, though, Nate. Good to see you are on the
lookout for ways to improve DJGPP even more :)
"Who here believes in telekenesis? Raise MY hand!"
bporter AT rabble DOT uow DOT edu DOT au
Humour, Programming, and more.
- Raw text -