diff options
author | Ian Lynagh <igloo@earth.li> | 2012-04-24 17:19:58 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-04-24 17:19:58 +0100 |
commit | 8b1fd2609919dfa8b889f13f91e80885177ba737 (patch) | |
tree | 95d61ad13d9dcedf84a0e7e03688bdd92b6d3f23 | |
parent | 3020e6dc793100fe05aba4ae17475dbd1210fee1 (diff) | |
download | haskell-8b1fd2609919dfa8b889f13f91e80885177ba737.tar.gz |
A couple of build fixes for Win64
-rw-r--r-- | includes/Rts.h | 2 | ||||
-rw-r--r-- | rts/eventlog/EventLog.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/includes/Rts.h b/includes/Rts.h index c1f4f05bea..89efb15d9d 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -168,7 +168,7 @@ void _assertFail(const char *filename, unsigned int linenum) #define FMT_Word64 "lu" #define FMT_Int64 "ld" #else -#if defined(mingw32_HOST_OS) +#if defined(mingw32_HOST_OS) && defined(i386_HOST_ARCH) /* mingw doesn't understand %llu/%lld - it treats them as 32-bit rather than 64-bit */ #define FMT_Word64 "I64u" diff --git a/rts/eventlog/EventLog.c b/rts/eventlog/EventLog.c index a3103775d9..66b589e282 100644 --- a/rts/eventlog/EventLog.c +++ b/rts/eventlog/EventLog.c @@ -237,7 +237,10 @@ initEventLogging(void) // Forked process, eventlog already started by the parent // before fork event_log_pid = getpid(); - sprintf(event_log_filename, "%s.%d.eventlog", prog, event_log_pid); + // We don't have a FMT* symbol for pid_t, so we go via Word64 + // to be sure of not losing range. It would be nicer to have a + // FMT* symbol or similar, though. + sprintf(event_log_filename, "%s.%" FMT_Word64 ".eventlog", prog, (StgWord64)event_log_pid); } stgFree(prog); |