_Reported by: will on Sun Mar 21 11:03:56 2010 _
Data Execution Prevention (DEP) was added to Windows XP with Service Pack 2 (SP2), and is supported by Windows Vista and Windows 7. DEP defaults to OptIn, which is compatible with Larceny.
Setting DEP to OptOut or to AlwaysOn breaks Larceny. With OptOut, the system administrator can list Larceny as an exception, but that's a pain. With AlwaysOn, Larceny just won't work.
To fix this, Larceny must be rewritten to call VirtualAlloc instead of malloc. That's a major rewrite.
The rewrite is complicated by the fact that the specific calls to VirtualAlloc are not supported by Windows XP without SP2 or by previous versions of Windows. Hence the calls must be sensitive to the operating system version (including whether SP2 has been installed), or else we'll have to have two separate versions of Larceny for Windows.
_Reported by: will on Sun Mar 21 11:03:56 2010 _ Data Execution Prevention (DEP) was added to Windows XP with Service Pack 2 (SP2), and is supported by Windows Vista and Windows 7. DEP defaults to
OptIn
, which is compatible with Larceny.Setting DEP to
OptOut
or toAlwaysOn
breaks Larceny. WithOptOut
, the system administrator can list Larceny as an exception, but that's a pain. WithAlwaysOn
, Larceny just won't work.To fix this, Larceny must be rewritten to call
VirtualAlloc
instead ofmalloc
. That's a major rewrite.The rewrite is complicated by the fact that the specific calls to
VirtualAlloc
are not supported by Windows XP without SP2 or by previous versions of Windows. Hence the calls must be sensitive to the operating system version (including whether SP2 has been installed), or else we'll have to have two separate versions of Larceny for Windows.