[project @ 2005-04-10 21:44:10 by simonmar]
[ghc-hetmet.git] / ghc / rts / Linker.c
index 3633e54..9744a34 100644 (file)
@@ -803,24 +803,6 @@ addDLL( char *dll_name )
    void *hdl;
    char *errmsg;
 
-   // *** HACK
-   // If we load libHSbase_cbits_dyn.[so|dylib],
-   // then we know that we need to activate another newCAF
-   // related hack in Storage.c because we can't redirect
-   // newCAF to newDynCAF with the system dynamic linker.
-#ifdef OBJFORMAT_MACHO
-   const char *hsbase = "/libHSbase_cbits_dyn.dylib";
-#else
-   const char *hsbase = "/libHSbase_cbits_dyn.so";
-#endif
-   int namelen = strlen(dll_name);
-   int baselen = strlen(hsbase);
-   if(namelen > baselen && !strcmp(dll_name + namelen - baselen, hsbase))
-   {
-      keepCAFs = rtsTrue;
-   }
-   // *** END HACK.
-
    initLinker();
 
    hdl= dlopen(dll_name, RTLD_NOW | RTLD_GLOBAL);
@@ -3943,7 +3925,7 @@ static void machoInitSymbolsWithoutUnderscore()
 {
     extern void* symbolsWithoutUnderscore[];
     void **p = symbolsWithoutUnderscore;
-    __asm__ volatile(".data\n_symbolsWithoutUnderscore:");
+    __asm__ volatile(".globl _symbolsWithoutUnderscore\n.data\n_symbolsWithoutUnderscore:");
 
 #undef Sym
 #define Sym(x)  \