X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLinker.c;h=dc31869517712ab2b86eb5a46f9679d059c47553;hb=7d6dffe542bdad5707a929ae7ac25813c586766d;hp=d0c120b917d9abbc451e61d09d9385f30f30ebd2;hpb=8b08c15b8ace5a76e341939081fbb6ad2736ddd1;p=ghc-hetmet.git diff --git a/rts/Linker.c b/rts/Linker.c index d0c120b..dc31869 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -95,11 +95,6 @@ static /*Str*/HashTable *symhash; /* Hash table mapping symbol names to StgStablePtr */ static /*Str*/HashTable *stablehash; -#if defined(DEBUGGER) -/* Hash table mapping info table ptrs to DataCon names */ -static HashTable *dchash; -#endif - /* List of currently loaded objects */ ObjectCode *objects = NULL; /* initially empty */ @@ -546,7 +541,6 @@ typedef struct _RtsSymbolVal { SymX(insertStableSymbol) \ SymX(insertSymbol) \ SymX(lookupSymbol) \ - SymX(lookupDataCon) \ SymX(makeStablePtrzh_fast) \ SymX(minusIntegerzh_fast) \ SymX(mkApUpd0zh_fast) \ @@ -817,7 +811,6 @@ static RtsSymbolVal rtsSyms[] = { /* ----------------------------------------------------------------------------- * Insert symbols into hash tables, checking for duplicates. */ -int isSuffixOf(char* x, char* suffix); static void ghciInsertStrHashTable ( char* obj_name, HashTable *table, @@ -828,15 +821,6 @@ static void ghciInsertStrHashTable ( char* obj_name, if (lookupHashTable(table, (StgWord)key) == NULL) { insertStrHashTable(table, (StgWord)key, data); -#if defined(DEBUGGER) - // Insert the reverse pair in the datacon hash if it is a closure - { - if(isSuffixOf(key, "static_info") || isSuffixOf(key, "con_info")) { - insertHashTable(dchash, (StgWord)data, key); - // debugBelch("DChash addSymbol: %s (%p)\n", key, data); - } - } -#endif return; } debugBelch( @@ -882,9 +866,6 @@ initLinker( void ) stablehash = allocStrHashTable(); symhash = allocStrHashTable(); -#if defined(DEBUGGER) - dchash = allocHashTable(); -#endif /* populate the symbol table with stuff from the RTS */ for (sym = rtsSyms; sym->lbl != NULL; sym++) { @@ -1103,24 +1084,6 @@ lookupSymbol( char *lbl ) } } -#if defined(DEBUGGER) -char * -lookupDataCon( StgWord addr ) -{ - void *val; - initLinker() ; - ASSERT(dchash != NULL); - val = lookupHashTable(dchash, addr); - - return val; -} -#else -char* lookupDataCon( StgWord addr ) -{ - return NULL; -} -#endif - static __attribute((unused)) void * @@ -1324,6 +1287,7 @@ loadObj( char *path ) // that the actual sections end up aligned again. oc->misalignment = machoGetMisalignment(f); oc->image = stgMallocBytes(oc->fileSize + oc->misalignment, "loadObj(image)"); + oc->image += oc->misalignment; # else oc->image = stgMallocBytes(oc->fileSize, "loadObj(image)"); # endif @@ -4397,17 +4361,3 @@ static int machoGetMisalignment( FILE * f ) #endif -int isSuffixOf(char* x, char* suffix) { - int suffix_len = strlen (suffix); - int x_len = strlen (x); - - if (x_len == 0) - return 0; - if (suffix_len > x_len) - return 0; - if (suffix_len == 0) - return 1; - - char* x_suffix = &x[strlen(x)-strlen(suffix)]; - return strcmp(x_suffix, suffix) == 0; - }