Lines Matching refs:sym
104 for (const Archive::Symbol &sym : file->symbols()) in parse() local
105 ctx.symtab.addLazyArchive(this, sym); in parse()
109 void ArchiveFile::addMember(const Archive::Symbol &sym) { in addMember() argument
111 CHECK(sym.getMember(), in addMember()
112 "could not get the member for symbol " + toCOFFString(ctx, sym)); in addMember()
118 ctx.driver.enqueueArchiveMember(c, sym, getName()); in addMember()
282 COFFSymbolRef sym, const coff_aux_section_definition *def) { in readAssociativeDefinition() argument
283 readAssociativeDefinition(sym, def, def->getNumber(sym.isBigObj())); in readAssociativeDefinition()
286 void ObjFile::readAssociativeDefinition(COFFSymbolRef sym, in readAssociativeDefinition() argument
290 int32_t sectionNumber = sym.getSectionNumber(); in readAssociativeDefinition()
293 StringRef name = check(coffObj->getSymbolName(sym)); in readAssociativeDefinition()
327 COFFSymbolRef sym, DenseMap<StringRef, uint32_t> &prevailingSectionMap) { in recordPrevailingSymbolForMingw() argument
335 int32_t sectionNumber = sym.getSectionNumber(); in recordPrevailingSymbolForMingw()
344 COFFSymbolRef sym, const coff_aux_section_definition *def, in maybeAssociateSEHForMingw() argument
346 StringRef name = check(coffObj->getSymbolName(sym)); in maybeAssociateSEHForMingw()
353 readAssociativeDefinition(sym, def, parentSym->second); in maybeAssociateSEHForMingw()
357 Symbol *ObjFile::createRegular(COFFSymbolRef sym) { in createRegular() argument
358 SectionChunk *sc = sparseChunks[sym.getSectionNumber()]; in createRegular()
359 if (sym.isExternal()) { in createRegular()
360 StringRef name = check(coffObj->getSymbolName(sym)); in createRegular()
362 return ctx.symtab.addRegular(this, name, sym.getGeneric(), sc, in createRegular()
363 sym.getValue()); in createRegular()
375 /*IsExternal*/ false, sym.getGeneric(), sc); in createRegular()
420 COFFSymbolRef sym = check(coffObj->getSymbol(i)); in initializeSymbols() local
421 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) { in initializeSymbols()
423 readAssociativeDefinition(sym, def); in initializeSymbols()
425 maybeAssociateSEHForMingw(sym, def, prevailingSectionMap); in initializeSymbols()
427 if (sparseChunks[sym.getSectionNumber()] == pendingComdat) { in initializeSymbols()
428 StringRef name = check(coffObj->getSymbolName(sym)); in initializeSymbols()
433 symbols[i] = createRegular(sym); in initializeSymbols()
437 Symbol *sym = kv.first; in initializeSymbols() local
439 checkAndSetWeakAlias(ctx, this, sym, symbols[idx]); in initializeSymbols()
446 Symbol *ObjFile::createUndefined(COFFSymbolRef sym) { in createUndefined() argument
447 StringRef name = check(coffObj->getSymbolName(sym)); in createUndefined()
448 return ctx.symtab.addUndefined(name, this, sym.isWeakExternal()); in createUndefined()
455 COFFSymbolRef sym = check(obj->getSymbol(i)); in findSectionDef() local
456 if (sym.getSectionNumber() != section) in findSectionDef()
458 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) in findSectionDef()
465 COFFSymbolRef sym, COMDATType &selection, bool &prevailing, in handleComdatSelection() argument
532 if (leaderChunk->getSize() != getSection(sym)->SizeOfRawData) { in handleComdatSelection()
547 SectionChunk newChunk(this, getSection(sym)); in handleComdatSelection()
552 ctx.symtab.reportDuplicate(leader, this, &newChunk, sym.getValue()); in handleComdatSelection()
564 if (leaderChunk->getSize() < getSection(sym)->SizeOfRawData) { in handleComdatSelection()
566 StringRef name = check(coffObj->getSymbolName(sym)); in handleComdatSelection()
574 /*IsExternal*/ true, sym.getGeneric(), in handleComdatSelection()
586 COFFSymbolRef sym, in createDefined() argument
590 auto getName = [&]() { return check(coffObj->getSymbolName(sym)); }; in createDefined()
592 if (sym.isCommon()) { in createDefined()
593 auto *c = make<CommonChunk>(sym); in createDefined()
595 return ctx.symtab.addCommon(this, getName(), sym.getValue(), in createDefined()
596 sym.getGeneric(), c); in createDefined()
599 if (sym.isAbsolute()) { in createDefined()
603 feat00Flags = sym.getValue(); in createDefined()
608 if (sym.isExternal()) in createDefined()
609 return ctx.symtab.addAbsolute(name, sym); in createDefined()
610 return make<DefinedAbsolute>(ctx, name, sym); in createDefined()
613 int32_t sectionNumber = sym.getSectionNumber(); in createDefined()
640 if (sym.isExternal()) { in createDefined()
642 ctx.symtab.addComdat(this, getName(), sym.getGeneric()); in createDefined()
645 /*IsExternal*/ false, sym.getGeneric()); in createDefined()
659 handleComdatSelection(sym, selection, prevailing, leader, def); in createDefined()
666 c->sym = cast<DefinedRegular>(leader); in createDefined()
678 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) { in createDefined()
685 return createRegular(sym); in createDefined()
726 Expected<CVSymbol> sym = readSymbolFromStream(ss.getRecordData(), offset); in initializeFlags() local
727 if (!sym) { in initializeFlags()
728 consumeError(sym.takeError()); in initializeFlags()
731 if (sym->kind() == SymbolKind::S_COMPILE3) { in initializeFlags()
733 cantFail(SymbolDeserializer::deserializeAs<Compile3Sym>(sym.get())); in initializeFlags()
737 if (sym->kind() == SymbolKind::S_OBJNAME) { in initializeFlags()
739 sym.get())); in initializeFlags()
743 offset += sym->length(); in initializeFlags()
1035 Symbol *sym; in parse() local
1042 sym = ctx.symtab.addUndefined(symName, this, false); in parse()
1044 sym->deferUndefined = true; in parse()
1057 sym->isUsedInRegularObj = true; in parse()
1059 sym = ctx.symtab.addCommon(this, symName, objSym.getCommonSize()); in parse()
1062 sym = ctx.symtab.addUndefined(symName, this, true); in parse()
1065 checkAndSetWeakAlias(ctx, this, sym, alias); in parse()
1068 sym = comdat[comdatIndex].first; in parse()
1069 if (cast<DefinedRegular>(sym)->data == nullptr) in parse()
1070 cast<DefinedRegular>(sym)->data = &fakeSC->repl; in parse()
1072 sym = ctx.symtab.addRegular(this, symName, nullptr, fakeSC); in parse()
1074 sym = ctx.symtab.addUndefined(symName, this, false); in parse()
1077 sym = ctx.symtab.addRegular(this, symName, nullptr, fakeSC, 0, in parse()
1080 symbols.push_back(sym); in parse()
1082 ctx.config.gcroot.push_back(sym); in parse()
1088 for (const lto::InputFile::Symbol &sym : obj->symbols()) in parseLazy() local
1089 if (!sym.isUndefined()) in parseLazy()
1090 ctx.symtab.addLazyObject(this, sym.getName()); in parseLazy()