Bug when calling mprotect and VirtualAlloc with the SpurMemoryManager
The endAddr parameter to sqMakeMemoryNotExecutableFromTo is exclusive. This means, that the size computation (endAddr - startAddr + 1) does not need the extra + 1.
When computing the size for mprotect and VirtualProtect with just endAddr - startAddr, the call does not fail anymore in Windows, Linux and OS X.
Please validate this with how are these functions used from the Slang side.