Commit d879a5a8 authored by Ian Lynagh's avatar Ian Lynagh

Fixes for the threaded RTS on Win64

parent 45740c29
......@@ -17,6 +17,13 @@
extern "C" {
#endif
/* We include windows.h very early, as on Win64 the CONTEXT type has
fields "R8", "R9" and "R10", which goes bad if we've already
#define'd those names for our own purposes (in stg/Regs.h) */
#if defined(HAVE_WINDOWS_H)
#include <windows.h>
#endif
#ifndef IN_STG_CODE
#define IN_STG_CODE 0
#endif
......
......@@ -33,6 +33,14 @@
/* include Stg.h first because we want real machine regs in here: we
* have to get the value of R1 back from Stg land to C land intact.
*/
/* We include windows.h very early, as on Win64 the CONTEXT type has
fields "R8", "R9" and "R10", which goes bad if we've already
#define'd those names for our own purposes (in stg/Regs.h) */
#if defined(HAVE_WINDOWS_H)
#include <windows.h>
#endif
#define IN_STGCRUN 1
#include "Stg.h"
#include "Rts.h"
......
......@@ -152,7 +152,7 @@ ioManagerStart (void)
Capability *cap;
if (io_manager_event == INVALID_HANDLE_VALUE) {
cap = rts_lock();
#if defined(mingw32_HOST_OS) && defined(__PIC__)
#if defined(mingw32_HOST_OS) && defined(i386_HOST_Arch) && defined(__PIC__)
rts_evalIO(&cap,_imp__base_GHCziConcziIO_ensureIOManagerIsRunning_closure,NULL);
#else
rts_evalIO(&cap,&base_GHCziConcziIO_ensureIOManagerIsRunning_closure,NULL);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment