diff options
author | Ben.Lippmeier@anu.edu.au <unknown> | 2009-11-14 06:04:55 +0000 |
---|---|---|
committer | Ben.Lippmeier@anu.edu.au <unknown> | 2009-11-14 06:04:55 +0000 |
commit | 8c84944d5782f2ee60d96c02977f15ba9e7ab935 (patch) | |
tree | 60e3d7766fc4057286f6a12f56398f5d761cbe98 /rts/StgMiscClosures.cmm | |
parent | fcf0225457abec189ea630163fa56bc48c2d796d (diff) | |
download | haskell-8c84944d5782f2ee60d96c02977f15ba9e7ab935.tar.gz |
Don't share low valued Int and Char closures with Windows DLLs
Diffstat (limited to 'rts/StgMiscClosures.cmm')
-rw-r--r-- | rts/StgMiscClosures.cmm | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm index 95b22a9211..5e74d3f55f 100644 --- a/rts/StgMiscClosures.cmm +++ b/rts/StgMiscClosures.cmm @@ -564,10 +564,12 @@ CLOSURE(stg_dummy_ret_closure,stg_dummy_ret); #if defined(__PIC__) && defined(mingw32_TARGET_OS) /* - * When sticking the RTS in a DLL, we delay populating the + * When sticking the RTS in a Windows DLL, we delay populating the * Charlike and Intlike tables until load-time, which is only * when we've got the real addresses to the C# and I# closures. - * + * + * -- this is currently broken BL 2009/11/14. + * we don't rewrite to static closures at all with Windows DLLs. */ #warning Is this correct? _imp is a pointer! #define Char_hash_static_info _imp__ghczmprim_GHCziTypes_Czh_static_info @@ -587,6 +589,7 @@ CLOSURE(stg_dummy_ret_closure,stg_dummy_ret); /* end the name with _closure, to convince the mangler this is a closure */ +#if !(defined(__PIC__) && defined(mingw32_HOST_OS)) section "data" { stg_CHARLIKE_closure: CHARLIKE_HDR(0) @@ -883,3 +886,5 @@ section "data" { INTLIKE_HDR(15) INTLIKE_HDR(16) /* MAX_INTLIKE == 16 */ } + +#endif // !(defined(__PIC__) && defined(mingw32_HOST_OS)) |