X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStgMiscClosures.cmm;h=8fd96c16fc568e21cf3b54b88d0402991e375d5b;hb=0a5613f40b0e32cf59966e6b56b807cdbe80aa7b;hp=95b22a9211d36c2d0c20e538c4845324d71ec3ae;hpb=dd56e9ab4544e83d27532a8d9058140bfe81825c;p=ghc-hetmet.git diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm index 95b22a9..8fd96c1 100644 --- a/rts/StgMiscClosures.cmm +++ b/rts/StgMiscClosures.cmm @@ -564,12 +564,14 @@ 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! +// #warning Is this correct? _imp is a pointer! #define Char_hash_static_info _imp__ghczmprim_GHCziTypes_Czh_static_info #define Int_hash_static_info _imp__ghczmprim_GHCziTypes_Izh_static_info #else @@ -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))