diff options
author | Simon Marlow <marlowsd@gmail.com> | 2012-01-06 14:51:40 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2012-01-09 12:57:46 +0000 |
commit | 81c69f305c79c181a2e15cf88615baa441dae755 (patch) | |
tree | d3b4f6fb757ffc908287c45a6a10df6fa569ef19 /includes | |
parent | 9e452874df05f5f98243576ffaefc2f356358038 (diff) | |
download | haskell-81c69f305c79c181a2e15cf88615baa441dae755.tar.gz |
Make the RTS linker API use wide-char pathnames on Windows (#5697)
I haven't been able to test whether this works or not due to #5754,
but at least it doesn't appear to break anything.
Diffstat (limited to 'includes')
-rw-r--r-- | includes/rts/Linker.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/includes/rts/Linker.h b/includes/rts/Linker.h index f7c8ce9c4b..e900e858c1 100644 --- a/includes/rts/Linker.h +++ b/includes/rts/Linker.h @@ -14,31 +14,37 @@ #ifndef RTS_LINKER_H #define RTS_LINKER_H +#if defined(mingw32_HOST_OS) +typedef wchar_t pathchar; +#else +typedef char pathchar; +#endif + /* initialize the object linker */ void initLinker( void ); /* insert a stable symbol in the hash table */ -void insertStableSymbol(char* obj_name, char* key, StgPtr data); +void insertStableSymbol(pathchar* obj_name, char* key, StgPtr data); /* insert a symbol in the hash table */ -void insertSymbol(char* obj_name, char* key, void* data); +void insertSymbol(pathchar* obj_name, char* key, void* data); /* lookup a symbol in the hash table */ void *lookupSymbol( char *lbl ); /* delete an object from the pool */ -HsInt unloadObj( char *path ); +HsInt unloadObj( pathchar *path ); /* add an obj (populate the global symbol table, but don't resolve yet) */ -HsInt loadObj( char *path ); +HsInt loadObj( pathchar *path ); /* add an arch (populate the global symbol table, but don't resolve yet) */ -HsInt loadArchive( char *path ); +HsInt loadArchive( pathchar *path ); /* resolve all the currently unlinked objects in memory */ HsInt resolveObjs( void ); /* load a dynamic library */ -const char *addDLL( char* dll_name ); +const char *addDLL( pathchar* dll_name ); #endif /* RTS_LINKER_H */ |