Lines Matching defs:sym

104   for (const Archive::Symbol &sym : file->symbols())
105 ctx.symtab.addLazyArchive(this, sym);
109 void ArchiveFile::addMember(const Archive::Symbol &sym) {
111 CHECK(sym.getMember(),
112 "could not get the member for symbol " + toCOFFString(ctx, sym));
118 ctx.driver.enqueueArchiveMember(c, sym, getName());
321 COFFSymbolRef sym, const coff_aux_section_definition *def) {
322 readAssociativeDefinition(sym, def, def->getNumber(sym.isBigObj()));
325 void ObjFile::readAssociativeDefinition(COFFSymbolRef sym,
329 int32_t sectionNumber = sym.getSectionNumber();
332 StringRef name = check(coffObj->getSymbolName(sym));
366 COFFSymbolRef sym, DenseMap<StringRef, uint32_t> &prevailingSectionMap) {
374 int32_t sectionNumber = sym.getSectionNumber();
383 COFFSymbolRef sym, const coff_aux_section_definition *def,
385 StringRef name = check(coffObj->getSymbolName(sym));
392 readAssociativeDefinition(sym, def, parentSym->second);
396 Symbol *ObjFile::createRegular(COFFSymbolRef sym) {
397 SectionChunk *sc = sparseChunks[sym.getSectionNumber()];
398 if (sym.isExternal()) {
399 StringRef name = check(coffObj->getSymbolName(sym));
401 return ctx.symtab.addRegular(this, name, sym.getGeneric(), sc,
402 sym.getValue());
414 /*IsExternal*/ false, sym.getGeneric(), sc);
459 COFFSymbolRef sym = check(coffObj->getSymbol(i));
460 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) {
462 readAssociativeDefinition(sym, def);
464 maybeAssociateSEHForMingw(sym, def, prevailingSectionMap);
466 if (sparseChunks[sym.getSectionNumber()] == pendingComdat) {
467 StringRef name = check(coffObj->getSymbolName(sym));
472 symbols[i] = createRegular(sym);
476 Symbol *sym = kv.first;
478 checkAndSetWeakAlias(ctx, this, sym, symbols[idx]);
485 Symbol *ObjFile::createUndefined(COFFSymbolRef sym) {
486 StringRef name = check(coffObj->getSymbolName(sym));
487 return ctx.symtab.addUndefined(name, this, sym.isWeakExternal());
494 COFFSymbolRef sym = check(obj->getSymbol(i));
495 if (sym.getSectionNumber() != section)
497 if (const coff_aux_section_definition *def = sym.getSectionDefinition())
504 COFFSymbolRef sym, COMDATType &selection, bool &prevailing,
571 if (leaderChunk->getSize() != getSection(sym)->SizeOfRawData) {
586 SectionChunk newChunk(this, getSection(sym));
591 ctx.symtab.reportDuplicate(leader, this, &newChunk, sym.getValue());
603 if (leaderChunk->getSize() < getSection(sym)->SizeOfRawData) {
605 StringRef name = check(coffObj->getSymbolName(sym));
613 /*IsExternal*/ true, sym.getGeneric(),
625 COFFSymbolRef sym,
629 auto getName = [&]() { return check(coffObj->getSymbolName(sym)); };
631 if (sym.isCommon()) {
632 auto *c = make<CommonChunk>(sym);
634 return ctx.symtab.addCommon(this, getName(), sym.getValue(),
635 sym.getGeneric(), c);
638 if (sym.isAbsolute()) {
642 feat00Flags = sym.getValue();
647 if (sym.isExternal())
648 return ctx.symtab.addAbsolute(name, sym);
649 return make<DefinedAbsolute>(ctx, name, sym);
652 int32_t sectionNumber = sym.getSectionNumber();
679 if (sym.isExternal()) {
681 ctx.symtab.addComdat(this, getName(), sym.getGeneric());
684 /*IsExternal*/ false, sym.getGeneric());
698 handleComdatSelection(sym, selection, prevailing, leader, def);
705 c->sym = cast<DefinedRegular>(leader);
717 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) {
724 return createRegular(sym);
765 Expected<CVSymbol> sym = readSymbolFromStream(ss.getRecordData(), offset);
766 if (!sym) {
767 consumeError(sym.takeError());
770 if (sym->kind() == SymbolKind::S_COMPILE3) {
772 cantFail(SymbolDeserializer::deserializeAs<Compile3Sym>(sym.get()));
776 if (sym->kind() == SymbolKind::S_OBJNAME) {
778 sym.get()));
782 offset += sym->length();
1084 Symbol *sym;
1091 sym = ctx.symtab.addUndefined(symName, this, false);
1093 sym->deferUndefined = true;
1106 sym->isUsedInRegularObj = true;
1108 sym = ctx.symtab.addCommon(this, symName, objSym.getCommonSize());
1111 sym = ctx.symtab.addUndefined(symName, this, true);
1114 checkAndSetWeakAlias(ctx, this, sym, alias);
1117 sym = comdat[comdatIndex].first;
1118 if (cast<DefinedRegular>(sym)->data == nullptr)
1119 cast<DefinedRegular>(sym)->data = &fakeSC->repl;
1121 sym = ctx.symtab.addRegular(this, symName, nullptr, fakeSC);
1123 sym = ctx.symtab.addUndefined(symName, this, false);
1126 sym = ctx.symtab.addRegular(this, symName, nullptr, fakeSC, 0,
1129 symbols.push_back(sym);
1131 ctx.config.gcroot.push_back(sym);
1137 for (const lto::InputFile::Symbol &sym : obj->symbols())
1138 if (!sym.isUndefined())
1139 ctx.symtab.addLazyObject(this, sym.getName());