Lines Matching refs:sym

100     l->file->addMember(l->sym);  in forceLazy()
110 l->file->makeImport(l->sym); in forceLazy()
179 Symbol *sym; in getSymbolLocations() member
198 Symbol *sym = getSymbol(sc, r.VirtualAddress); in getSymbolLocations() local
200 locations.push_back({sym, *fileLine}); in getSymbolLocations()
201 else if (sym) in getSymbolLocations()
202 locations.push_back({sym, {"", 0}}); in getSymbolLocations()
222 if (loc.sym) in getSymbolLocations()
223 os << ":(" << toString(file->ctx, *loc.sym) << ')'; in getSymbolLocations()
250 Symbol *sym; member
262 os << "undefined symbol: " << toString(ctx, *undefDiag.sym); in reportUndefinedSymbol()
283 Symbol *sym = i.second; in loadMinGWSymbols() local
284 auto *undef = dyn_cast<Undefined>(sym); in loadMinGWSymbols()
345 bool SymbolTable::handleMinGWAutomaticImport(Symbol *sym, StringRef name) { in handleMinGWAutomaticImport() argument
371 sym->replaceKeepingName(imp, impSize); in handleMinGWAutomaticImport()
372 sym->isRuntimePseudoReloc = true; in handleMinGWAutomaticImport()
383 if (sc && sc->getRelocs().size() == 1 && *sc->symbols().begin() == sym) { in handleMinGWAutomaticImport()
421 for (Symbol *sym : symbols) { in reportProblemSymbols()
423 if (!sym) in reportProblemSymbols()
425 if (undefs.count(sym)) { in reportProblemSymbols()
426 auto it = firstDiag.find(sym); in reportProblemSymbols()
428 firstDiag[sym] = undefDiags.size(); in reportProblemSymbols()
429 undefDiags.push_back({sym, {{file, symIndex}}}); in reportProblemSymbols()
435 if (Symbol *imp = localImports->lookup(sym)) in reportProblemSymbols()
456 Symbol *sym = i.second; in reportUnresolvable() local
457 auto *undef = dyn_cast<Undefined>(sym); in reportUnresolvable()
458 if (!undef || sym->deferUndefined) in reportUnresolvable()
474 undefs.insert(sym); in reportUnresolvable()
487 Symbol *sym = i.second; in resolveRemainingUndefines() local
488 auto *undef = dyn_cast<Undefined>(sym); in resolveRemainingUndefines()
491 if (!sym->isUsedInRegularObj) in resolveRemainingUndefines()
504 memcpy(sym, d, sizeof(DefinedRegular)); in resolveRemainingUndefines()
506 memcpy(sym, d, sizeof(DefinedAbsolute)); in resolveRemainingUndefines()
508 memcpy(sym, d, sizeof(SymbolUnion)); in resolveRemainingUndefines()
518 replaceSymbol<DefinedLocalImport>(sym, ctx, name, d); in resolveRemainingUndefines()
519 localImportChunks.push_back(cast<DefinedLocalImport>(sym)->getChunk()); in resolveRemainingUndefines()
520 localImports[sym] = d; in resolveRemainingUndefines()
530 if (ctx.config.autoImport && handleMinGWAutomaticImport(sym, name)) in resolveRemainingUndefines()
536 replaceSymbol<DefinedAbsolute>(sym, ctx, name, 0); in resolveRemainingUndefines()
537 undefs.insert(sym); in resolveRemainingUndefines()
547 Symbol *&sym = symMap[CachedHashStringRef(name)]; in insert() local
548 if (!sym) { in insert()
549 sym = reinterpret_cast<Symbol *>(make<SymbolUnion>()); in insert()
550 sym->isUsedInRegularObj = false; in insert()
551 sym->pendingArchiveLoad = false; in insert()
552 sym->canInline = true; in insert()
555 return {sym, inserted}; in insert()
599 void SymbolTable::addLazyArchive(ArchiveFile *f, const Archive::Symbol &sym) { in addLazyArchive() argument
600 StringRef name = sym.getName(); in addLazyArchive()
603 replaceSymbol<LazyArchive>(s, f, sym); in addLazyArchive()
610 f->addMember(sym); in addLazyArchive()
628 void SymbolTable::addLazyDLLSymbol(DLLFile *f, DLLFile::Symbol *sym, in addLazyDLLSymbol() argument
632 replaceSymbol<LazyDLLSymbol>(s, f, sym, n); in addLazyDLLSymbol()
639 f->makeImport(sym); in addLazyDLLSymbol()
709 Symbol *SymbolTable::addAbsolute(StringRef n, COFFSymbolRef sym) { in addAbsolute() argument
713 replaceSymbol<DefinedAbsolute>(s, ctx, n, sym); in addAbsolute()
715 if (da->getVA() != sym.getValue()) in addAbsolute()
746 const coff_symbol_generic *sym, SectionChunk *c, in addRegular() argument
751 /*IsExternal*/ true, sym, c, isWeak); in addRegular()
759 const coff_symbol_generic *sym) { in addComdat() argument
763 /*IsExternal*/ true, sym, nullptr); in addComdat()
773 const coff_symbol_generic *sym, CommonChunk *c) { in addCommon() argument
776 replaceSymbol<DefinedCommon>(s, f, n, size, sym, c); in addCommon()
779 replaceSymbol<DefinedCommon>(s, f, n, size, sym, c); in addCommon()
809 Symbol *sym = findUnderscore(name); in addLibcall() local
810 if (!sym) in addLibcall()
813 if (auto *l = dyn_cast<LazyArchive>(sym)) { in addLibcall()
816 addUndefined(sym->getName()); in addLibcall()
817 } else if (LazyObject *o = dyn_cast<LazyObject>(sym)) { in addLibcall()
819 addUndefined(sym->getName()); in addLibcall()
858 if (Symbol *sym = find(name)) { in findMangle() local
859 if (auto *u = dyn_cast<Undefined>(sym)) { in findMangle()
866 return sym; in findMangle()