diff options
Diffstat (limited to 'rts/linker/MachO.c')
-rw-r--r-- | rts/linker/MachO.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/rts/linker/MachO.c b/rts/linker/MachO.c index 09c240f1f0..b513c461db 100644 --- a/rts/linker/MachO.c +++ b/rts/linker/MachO.c @@ -242,7 +242,7 @@ resolveImports( addr = (SymbolAddr*) (symbol->nlist->n_value); IF_DEBUG(linker, debugBelch("resolveImports: undefined external %s has value %p\n", symbol->name, addr)); } else { - addr = lookupSymbol_(symbol->name); + addr = lookupDependentSymbol(symbol->name, oc); IF_DEBUG(linker, debugBelch("resolveImports: looking up %s, %p\n", symbol->name, addr)); } @@ -564,12 +564,12 @@ relocateSectionAarch64(ObjectCode * oc, Section * section) uint64_t value = 0; if(symbol->nlist->n_type & N_EXT) { /* external symbols should be able to be - * looked up via the lookupSymbol_ function. + * looked up via the lookupDependentSymbol function. * Either through the global symbol hashmap * or asking the system, if not found * in the symbol hashmap */ - value = (uint64_t)lookupSymbol_((char*)symbol->name); + value = (uint64_t)lookupDependentSymbol((char*)symbol->name, oc); if(!value) barf("Could not lookup symbol: %s!", symbol->name); } else { @@ -609,7 +609,7 @@ relocateSectionAarch64(ObjectCode * oc, Section * section) uint64_t pc = (uint64_t)section->start + ri->r_address; uint64_t value = 0; if(symbol->nlist->n_type & N_EXT) { - value = (uint64_t)lookupSymbol_((char*)symbol->name); + value = (uint64_t)lookupDependentSymbol((char*)symbol->name, oc); if(!value) barf("Could not lookup symbol: %s!", symbol->name); } else { @@ -792,7 +792,7 @@ relocateSection(ObjectCode* oc, int curSection) // symtab, or it is undefined, meaning dlsym must be used // to resolve it. - addr = lookupSymbol_(nm); + addr = lookupDependentSymbol(nm, oc); IF_DEBUG(linker, debugBelch("relocateSection: looked up %s, " "external X86_64_RELOC_GOT or X86_64_RELOC_GOT_LOAD\n" " : addr = %p\n", nm, addr)); @@ -853,7 +853,7 @@ relocateSection(ObjectCode* oc, int curSection) nm, (void *)value)); } else { - addr = lookupSymbol_(nm); + addr = lookupDependentSymbol(nm, oc); if (addr == NULL) { errorBelch("\nlookupSymbol failed in relocateSection (relocate external)\n" @@ -1353,7 +1353,7 @@ ocGetNames_MachO(ObjectCode* oc) if (oc->info->nlist[i].n_type & N_EXT) { if ( (oc->info->nlist[i].n_desc & N_WEAK_DEF) - && lookupSymbol_(nm)) { + && lookupDependentSymbol(nm, oc)) { // weak definition, and we already have a definition IF_DEBUG(linker, debugBelch(" weak: %s\n", nm)); } @@ -1508,7 +1508,7 @@ ocResolve_MachO(ObjectCode* oc) * have the address. */ if(NULL == symbol->addr) { - symbol->addr = lookupSymbol_((char*)symbol->name); + symbol->addr = lookupDependentSymbol((char*)symbol->name, oc); if(NULL == symbol->addr) barf("Failed to lookup symbol: %s", symbol->name); } else { |