Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Don't know what it means for the virtual address space to be fragmented. Each process begins with a pristine virtual address space.


Mostly, but not really, apart from the binary image itself, its dependent shared libraries are also loaded, and the various images loaded might have virtual address space reservations marked in the header. In normal scenarios there should be enough contiguous address space, Go programs only link to ntdll.dll and winmm.dll. While it's true that on recent Windows versions these two shared objects pull around 30 other shared objects, all the DLLs shipped with Windows have a base address chosen so that they only take a very small chunk of address space and most address space is contiguous. 512MB of contiguous reservation shouldn't be a problem to get.

The fact that this is not happening means that 3rd party DLLs are loaded, this happens if you use a program, knowingly or not, that install user mode hooks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: