Lines Matching defs:sym
108 static coff_symbol_generic *cloneSymbol(COFFSymbolRef sym) {
109 if (sym.isBigObj()) {
111 *reinterpret_cast<const coff_symbol32 *>(sym.getRawPtr()));
115 *reinterpret_cast<const coff_symbol16 *>(sym.getRawPtr()));
133 for (const Archive::Symbol &sym : symbols)
134 ctx.symtabEC->addLazyArchive(this, sym);
143 for (const Archive::Symbol &sym : file->symbols())
144 ctx.symtab.addLazyArchive(this, sym);
148 void ArchiveFile::addMember(const Archive::Symbol &sym) {
150 CHECK(sym.getMember(), "could not get the member for symbol " +
151 toCOFFString(symtab.ctx, sym));
159 symtab.ctx.driver.enqueueArchiveMember(c, sym, getName());
383 COFFSymbolRef sym, const coff_aux_section_definition *def) {
384 readAssociativeDefinition(sym, def, def->getNumber(sym.isBigObj()));
387 void ObjFile::readAssociativeDefinition(COFFSymbolRef sym,
391 int32_t sectionNumber = sym.getSectionNumber();
394 StringRef name = check(coffObj->getSymbolName(sym));
429 COFFSymbolRef sym, DenseMap<StringRef, uint32_t> &prevailingSectionMap) {
437 int32_t sectionNumber = sym.getSectionNumber();
446 COFFSymbolRef sym, const coff_aux_section_definition *def,
448 StringRef name = check(coffObj->getSymbolName(sym));
455 readAssociativeDefinition(sym, def, parentSym->second);
459 Symbol *ObjFile::createRegular(COFFSymbolRef sym) {
460 SectionChunk *sc = sparseChunks[sym.getSectionNumber()];
461 if (sym.isExternal()) {
462 StringRef name = check(coffObj->getSymbolName(sym));
464 return symtab.addRegular(this, name, sym.getGeneric(), sc,
465 sym.getValue());
476 const coff_symbol_generic *symGen = sym.getGeneric();
477 if (sym.isSection()) {
478 auto *customSymGen = cloneSymbol(sym);
555 COFFSymbolRef sym = check(coffObj->getSymbol(i));
556 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) {
558 readAssociativeDefinition(sym, def);
560 maybeAssociateSEHForMingw(sym, def, prevailingSectionMap);
562 if (sparseChunks[sym.getSectionNumber()] == pendingComdat) {
563 StringRef name = check(coffObj->getSymbolName(sym));
568 symbols[i] = createRegular(sym);
572 Symbol *sym = kv.first;
574 checkAndSetWeakAlias(symtab, this, sym, symbols[aux->TagIndex],
583 Symbol *ObjFile::createUndefined(COFFSymbolRef sym, bool overrideLazy) {
584 StringRef name = check(coffObj->getSymbolName(sym));
607 COFFSymbolRef sym = check(obj->getSymbol(i));
608 if (sym.getSectionNumber() != section)
610 if (const coff_aux_section_definition *def = sym.getSectionDefinition())
617 COFFSymbolRef sym, COMDATType &selection, bool &prevailing,
684 if (leaderChunk->getSize() != getSection(sym)->SizeOfRawData) {
699 SectionChunk newChunk(this, getSection(sym));
704 symtab.reportDuplicate(leader, this, &newChunk, sym.getValue());
716 if (leaderChunk->getSize() < getSection(sym)->SizeOfRawData) {
718 StringRef name = check(coffObj->getSymbolName(sym));
726 /*IsExternal*/ true, sym.getGeneric(),
738 COFFSymbolRef sym,
742 auto getName = [&]() { return check(coffObj->getSymbolName(sym)); };
744 if (sym.isCommon()) {
745 auto *c = make<CommonChunk>(sym);
747 return symtab.addCommon(this, getName(), sym.getValue(), sym.getGeneric(),
752 if (sym.isAbsolute()) {
756 feat00Flags = sym.getValue();
761 if (sym.isExternal())
762 return symtab.addAbsolute(name, sym);
763 return make<DefinedAbsolute>(ctx, name, sym);
766 int32_t sectionNumber = sym.getSectionNumber();
770 if (sym.isEmptySectionDeclaration()) {
782 if (sym.getValue())
783 hdr->Characteristics = sym.getValue() | IMAGE_SCN_ALIGN_4BYTES;
791 auto *symGen = cloneSymbol(sym);
823 if (sym.isExternal()) {
825 symtab.addComdat(this, getName(), sym.getGeneric());
828 /*IsExternal*/ false, sym.getGeneric());
843 handleComdatSelection(sym, selection, prevailing, leader, def);
850 c->sym = cast<DefinedRegular>(leader);
862 if (const coff_aux_section_definition *def = sym.getSectionDefinition()) {
869 return createRegular(sym);
908 Expected<CVSymbol> sym = readSymbolFromStream(ss.getRecordData(), offset);
909 if (!sym) {
910 consumeError(sym.takeError());
913 if (sym->kind() == SymbolKind::S_COMPILE3) {
915 cantFail(SymbolDeserializer::deserializeAs<Compile3Sym>(sym.get()));
919 if (sym->kind() == SymbolKind::S_OBJNAME) {
921 sym.get()));
925 offset += sym->length();
1261 impchkThunk->sym = symtab.addImportThunk(impChkName, impSym, impchkThunk);
1313 Symbol *sym;
1320 sym = symtab.addUndefined(symName, this, false);
1322 sym->deferUndefined = true;
1335 sym->isUsedInRegularObj = true;
1337 sym = symtab.addCommon(this, symName, objSym.getCommonSize());
1340 sym = symtab.addUndefined(symName, this, true);
1343 checkAndSetWeakAlias(symtab, this, sym, alias, false);
1346 sym = comdat[comdatIndex].first;
1347 if (cast<DefinedRegular>(sym)->data == nullptr)
1348 cast<DefinedRegular>(sym)->data = &fakeSC->repl;
1350 sym = symtab.addRegular(this, symName, nullptr, fakeSC);
1352 sym = symtab.addUndefined(symName, this, false);
1355 sym =
1358 symbols.push_back(sym);
1360 symtab.ctx.config.gcroot.push_back(sym);
1366 for (const lto::InputFile::Symbol &sym : obj->symbols())
1367 if (!sym.isUndefined()) {
1368 symtab.addLazyObject(this, sym.getName());