diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2007-03-01 10:27:48 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2007-03-01 10:27:48 +0000 |
commit | b4beb4dd7fb82ac4b85ebc6c3da5f01d6f475bd5 (patch) | |
tree | 8a76f6d152b534b24bae9f1d6354a6b2e22463d0 /byterun/win32.c | |
parent | 66b5626778828d71ba170ccdc6c8a4f7e522ea8c (diff) | |
download | ocaml-b4beb4dd7fb82ac4b85ebc6c3da5f01d6f475bd5.tar.gz |
Stack overflow detection not working under Win64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/win32.c')
-rw-r--r-- | byterun/win32.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/byterun/win32.c b/byterun/win32.c index df3aee6838..72b68a463d 100644 --- a/byterun/win32.c +++ b/byterun/win32.c @@ -406,7 +406,7 @@ void caml_signal_thread(void * lpParam) #endif /* NATIVE_CODE */ -#ifdef NATIVE_CODE +#if defined(NATIVE_CODE) && !defined(_WIN64) /* Handling of system stack overflow. * Based on code provided by Olivier Andrieu. @@ -443,6 +443,7 @@ void caml_signal_thread(void * lpParam) * Win9x. There is an equivalent mechanism on Win9x with * PAGE_NOACCESS. * + * Currently, does not work under Win64. */ static uintnat win32_alt_stack[0x80]; @@ -495,13 +496,8 @@ static LONG CALLBACK { DWORD code = exn_info->ExceptionRecord->ExceptionCode; CONTEXT *ctx = exn_info->ContextRecord; -#ifdef _WIN64 - DWORD64 *ctx_ip = &(ctx->Rip); - DWORD64 *ctx_sp = &(ctx->Rsp); -#else DWORD *ctx_ip = &(ctx->Eip); DWORD *ctx_sp = &(ctx->Esp); -#endif if (code == EXCEPTION_STACK_OVERFLOW && In_code_area (*ctx_ip)) { |