X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLinker.c;h=d84e4f75213b2edce6abd1da03d59aa3f3e2b158;hb=1eea92c1baf0d1c9f69fa8b3f7b6105d0519aa2d;hp=3b419f23f2393535664ced44a37fbf18a19075e1;hpb=e020e387b3da272ef9750bad5f585119cbaf3871;p=ghc-hetmet.git diff --git a/rts/Linker.c b/rts/Linker.c index 3b419f2..d84e4f7 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -89,6 +89,7 @@ # include #elif defined(darwin_HOST_OS) # define OBJFORMAT_MACHO +# include # include # include # include @@ -977,8 +978,7 @@ typedef struct _RtsSymbolVal { SymI_NeedsProto(__muldi3) \ SymI_NeedsProto(__ashldi3) \ SymI_NeedsProto(__ashrdi3) \ - SymI_NeedsProto(__lshrdi3) \ - SymI_NeedsProto(__eprintf) + SymI_NeedsProto(__lshrdi3) #else #define RTS_LIBGCC_SYMBOLS #endif @@ -1101,7 +1101,6 @@ static int linker_init_done = 0 ; static void *dl_prog_handle; static regex_t re_invalid; static regex_t re_realso; -static void initLinkerCleanup( void ); #ifdef THREADED_RTS static Mutex dl_mutex; // mutex to protect dlopen/dlerror critical section #endif @@ -1111,7 +1110,9 @@ void initLinker( void ) { RtsSymbolVal *sym; +#if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO) int compileResult; +#endif /* Make initLinker idempotent, so we can call it before evey relevant operation; that means we @@ -1120,7 +1121,7 @@ initLinker( void ) linker_init_done = 1; } -#ifdef THREADED_RTS +#if defined(THREADED_RTS) && (defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO)) initMutex(&dl_mutex); #endif stablehash = allocStrHashTable();