--- libsigsegv/src/handler-win32.c.orig 2017-02-02 00:32:44.314628900 -0500 +++ libsigsegv/src/handler-win32.c 2017-02-02 00:38:05.028896800 -0500 @@ -215,9 +215,15 @@ new_safe_esp -= 8; /* make room for arguments */ new_safe_esp &= -16; /* align */ new_safe_esp -= 4; /* make room for (unused) return address slot */ +#if defined (_AMD64_) + ExceptionInfo->ContextRecord->Rsp = new_safe_esp; + /* Call stack_overflow_handler(faulting_page_address,safe_context). */ + ExceptionInfo->ContextRecord->Rip = (uintptr_t)&stack_overflow_handler; +#else ExceptionInfo->ContextRecord->Esp = new_safe_esp; /* Call stack_overflow_handler(faulting_page_address,safe_context). */ ExceptionInfo->ContextRecord->Eip = (uintptr_t)&stack_overflow_handler; +#endif *(uintptr_t *)(new_safe_esp + 4) = faulting_page_address; *(uintptr_t *)(new_safe_esp + 8) = (uintptr_t) safe_context; return EXCEPTION_CONTINUE_EXECUTION; --- libsigsegv/configure.ac.orig 2017-02-02 00:46:44.715482200 -0500 +++ libsigsegv/configure.ac 2017-02-02 00:47:20.110497100 -0500 @@ -21,7 +21,7 @@ AC_INIT AC_CONFIG_SRCDIR([src/sigsegv.h.in]) AC_CONFIG_AUX_DIR([build-aux]) - +AC_CONFIG_MACRO_DIRS([m4]) RSE_BOLD { echo; echo "${term_bold}Build Tools:${term_norm}"; } >& AS_MESSAGE_FD