Lines Matching refs:sym
241 static std::string getSrcMsgAux(ObjFile<ELFT> &file, const Symbol &sym,
250 file.getVariableLoc(sym.getName()))
257 std::string InputFile::getSrcMsg(const Symbol &sym, InputSectionBase &sec,
265 return getSrcMsgAux(cast<ObjFile<ELF32LE>>(*this), sym, sec, offset);
267 return getSrcMsgAux(cast<ObjFile<ELF32BE>>(*this), sym, sec, offset);
269 return getSrcMsgAux(cast<ObjFile<ELF64LE>>(*this), sym, sec, offset);
271 return getSrcMsgAux(cast<ObjFile<ELF64BE>>(*this), sym, sec, offset);
377 uint32_t ObjFile<ELFT>::getSectionIndex(const Elf_Sym &sym) const {
379 this->getObj().getSectionIndex(&sym, getELFSyms<ELFT>(), shndxTable),
413 const typename ELFT::Sym &sym = symbols[sec.sh_info];
414 StringRef signature = CHECK(sym.getName(this->stringTable), this);
423 if (signature.empty() && sym.getType() == STT_SECTION)
1150 Symbol *sym = this->symbols[i];
1156 if ((sym->symbolKind == Symbol::LazyArchiveKind &&
1157 !cast<ArchiveFile>(sym->file)->parsed) ||
1158 (sym->symbolKind == Symbol::LazyObjectKind &&
1159 cast<LazyObjFile>(sym->file)->fetched))
1160 sym->replace(und);
1162 sym->resolve(und);
1183 for (const Archive::Symbol &sym : file->symbols())
1184 symtab->addSymbol(LazyArchive{*this, sym});
1192 void ArchiveFile::fetch(const Archive::Symbol &sym) {
1194 CHECK(sym.getMember(), toString(this) +
1196 toELFString(sym));
1205 toELFString(sym));
1299 const typename ELFT::Sym &sym) {
1301 if (sym.st_value)
1302 ret = 1ULL << countTrailingZeros((uint64_t)sym.st_value);
1303 if (0 < sym.st_shndx && sym.st_shndx < sections.size())
1304 ret = std::min<uint64_t>(ret, sections[sym.st_shndx].sh_addralign);
1419 const Elf_Sym &sym = syms[i];
1425 StringRef name = CHECK(sym.getName(this->stringTable), this);
1426 if (sym.getBinding() == STB_LOCAL) {
1433 if (sym.isUndefined()) {
1449 Undefined{this, name, sym.getBinding(), sym.st_other, sym.getType()});
1461 uint32_t alignment = getAlignment<ELFT>(sections, sym);
1463 symtab->addSymbol(SharedSymbol{*this, name, sym.getBinding(),
1464 sym.st_other, sym.getType(), sym.st_value,
1465 sym.st_size, alignment, idx});
1485 symtab->addSymbol(SharedSymbol{*this, saver.save(name), sym.getBinding(),
1486 sym.st_other, sym.getType(), sym.st_value,
1487 sym.st_size, alignment, idx});
1684 for (const lto::InputFile::Symbol &sym : obj->symbols()) {
1685 if (sym.isUndefined())
1687 symtab->addSymbol(LazyObject{*this, saver.save(sym.getName())});
1721 for (Symbol *sym : this->symbols) {
1722 if (!sym)
1724 sym->resolve(LazyObject{*this, sym->getName()});