X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLinker.c;h=33daea3ab3d5f147227ea67a9f6358d8535183ab;hb=805064fe860dbd4f186f5decd435169fc951a254;hp=df91b65144a9f21cdae61cd2650f6748bd82695f;hpb=277eb982ef12a1dfcae330271134bf4672437ebe;p=ghc-hetmet.git diff --git a/rts/Linker.c b/rts/Linker.c index df91b65..33daea3 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -1669,6 +1669,8 @@ loadArchive( char *path ) int isObject; char tmp[12]; + IF_DEBUG(linker, debugBelch("loadArchive `%s'\n", path)); + fileSize = 32; file = stgMallocBytes(fileSize, "loadArchive(file)"); @@ -1736,7 +1738,7 @@ loadArchive( char *path ) isObject = 0; for (n = 0; n < (int)fileNameSize - 1; n++) { - if ((file[n] == '.') && (file[n] == 'o')) { + if ((file[n] == '.') && (file[n + 1] == 'o')) { isObject = 1; break; } @@ -1918,6 +1920,8 @@ static HsInt loadOc( ObjectCode* oc ) { int r; + IF_DEBUG(linker, debugBelch("loadOc\n")); + # if defined(OBJFORMAT_MACHO) && (defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)) r = ocAllocateSymbolExtras_MachO ( oc ); if (!r) { @@ -4859,6 +4863,8 @@ static int ocGetNames_MachO(ObjectCode* oc) char *commonStorage = NULL; unsigned long commonCounter; + IF_DEBUG(linker,debugBelch("ocGetNames_MachO\n")); + for(i=0;incmds;i++) { if(lc->cmd == LC_SEGMENT || lc->cmd == LC_SEGMENT_64) @@ -4948,6 +4954,7 @@ static int ocGetNames_MachO(ObjectCode* oc) ; // weak definition, and we already have a definition else { + IF_DEBUG(linker,debugBelch("Adding symbol 1 %s\n", nm)); ghciInsertStrHashTable(oc->fileName, symhash, nm, image + sections[nlist[i].n_sect-1].offset @@ -4974,6 +4981,7 @@ static int ocGetNames_MachO(ObjectCode* oc) nlist[i].n_value = commonCounter; + IF_DEBUG(linker,debugBelch("Adding symbol 2 %s\n", nm)); ghciInsertStrHashTable(oc->fileName, symhash, nm, (void*)commonCounter); oc->symbols[curSymbol++] = nm;