Lines Matching refs:Symbol

76 static void forceLazy(Symbol *s) {
79 case Symbol::Kind::LazyArchiveKind: {
84 case Symbol::Kind::LazyObjectKind: {
89 case Symbol::Kind::LazyDLLSymbolKind: {
103 static Symbol *getSymbol(SectionChunk *sc, uint32_t addr) {
106 for (Symbol *s : sc->file->getSymbols()) {
160 Symbol *sym;
179 Symbol *sym = getSymbol(sc, r.VirtualAddress);
231 Symbol *sym;
264 Symbol *sym = i.second;
284 Symbol *l;
309 Symbol *l = find(("__imp_" + name).str());
326 bool SymbolTable::handleMinGWAutomaticImport(Symbol *sym, StringRef name) {
335 // this Symbol. The runtime pseudo relocation framework expects the
380 const COFFLinkerContext &ctx, const SmallPtrSetImpl<Symbol *> &undefs,
381 const DenseMap<Symbol *, Symbol *> *localImports, bool needBitcodeFiles) {
387 for (Symbol *b : ctx.config.gcroot) {
392 if (Symbol *imp = localImports->lookup(b))
398 DenseMap<Symbol *, int> firstDiag;
400 auto processFile = [&](InputFile *file, ArrayRef<Symbol *> symbols) {
402 for (Symbol *sym : symbols) {
416 if (Symbol *imp = localImports->lookup(sym))
435 SmallPtrSet<Symbol *, 8> undefs;
437 Symbol *sym = i.second;
445 Symbol *imp = find(name.substr(strlen("__imp_")));
461 SmallPtrSet<Symbol *, 8> undefs;
462 DenseMap<Symbol *, Symbol *> localImports;
465 Symbol *sym = i.second;
493 Symbol *imp = find(name.substr(strlen("__imp_")));
523 std::pair<Symbol *, bool> SymbolTable::insert(StringRef name) {
525 Symbol *&sym = symMap[CachedHashStringRef(name)];
527 sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
536 std::pair<Symbol *, bool> SymbolTable::insert(StringRef name, InputFile *file) {
537 std::pair<Symbol *, bool> result = insert(name);
543 Symbol *SymbolTable::addUndefined(StringRef name, InputFile *f,
555 void SymbolTable::addLazyArchive(ArchiveFile *f, const Archive::Symbol &sym) {
584 void SymbolTable::addLazyDLLSymbol(DLLFile *f, DLLFile::Symbol *sym,
642 void SymbolTable::reportDuplicate(Symbol *existing, InputFile *newFile,
665 Symbol *SymbolTable::addAbsolute(StringRef n, COFFSymbolRef sym) {
678 Symbol *SymbolTable::addAbsolute(StringRef n, uint64_t va) {
691 Symbol *SymbolTable::addSynthetic(StringRef n, Chunk *c) {
701 Symbol *SymbolTable::addRegular(InputFile *f, StringRef n,
728 Symbol *SymbolTable::addCommon(InputFile *f, StringRef n, uint64_t size,
739 Symbol *SymbolTable::addImportData(StringRef n, ImportFile *f) {
751 Symbol *SymbolTable::addImportThunk(StringRef name, DefinedImportData *id,
765 Symbol *sym = findUnderscore(name);
788 Symbol *SymbolTable::find(StringRef name) const {
792 Symbol *SymbolTable::findUnderscore(StringRef name) const {
800 std::vector<Symbol *> SymbolTable::getSymsWithPrefix(StringRef prefix) {
801 std::vector<Symbol *> syms;
813 Symbol *SymbolTable::findMangle(StringRef name) {
814 if (Symbol *sym = find(name)) {
819 if (Symbol *weakAlias = u->getWeakAlias())
830 std::vector<Symbol *> syms = getSymsWithPrefix(name);
831 auto findByPrefix = [&syms](const Twine &t) -> Symbol * {
846 if (Symbol *s = findByPrefix(name + "@"))
849 if (Symbol *s = findByPrefix("@" + name.substr(1) + "@"))
852 if (Symbol *s = findByPrefix(name.substr(1) + "@@"))
858 Symbol *SymbolTable::addUndefined(StringRef name) {