Lines Matching defs:Sym
97 void setGraphSymbol(ELFSymbolIndex SymIndex, Symbol &Sym) {
99 GraphSymbols[SymIndex] = &Sym;
107 getSymbolLinkageAndScope(const typename ELFT::Sym &Sym, StringRef Name);
110 virtual TargetFlagsType makeTargetFlags(const typename ELFT::Sym &Sym) {
115 virtual orc::ExecutorAddrDiff getRawOffset(const typename ELFT::Sym &Sym,
117 return Sym.getValue();
226 const typename ELFT::Sym &Sym, StringRef Name) {
230 switch (Sym.getBinding()) {
244 Twine(static_cast<int>(Sym.getBinding())) + " for " + Name,
248 switch (Sym.getVisibility()) {
263 Twine(static_cast<int>(Sym.getVisibility())) + " for " + Name,
445 auto &Sym = (*Symbols)[SymIndex];
448 switch (Sym.getType()) {
451 if (auto Name = Sym.getName(*StringTab))
466 auto Name = Sym.getName(*StringTab);
471 if (Sym.isCommon()) {
473 G->createZeroFillBlock(getCommonSection(), Sym.st_size,
474 orc::ExecutorAddr(), Sym.getValue(), 0),
475 0, *Name, Sym.st_size, Linkage::Strong, Scope::Default, false, false);
480 if (Sym.isDefined() &&
481 (Sym.getType() == ELF::STT_NOTYPE || Sym.getType() == ELF::STT_FUNC ||
482 Sym.getType() == ELF::STT_OBJECT ||
483 Sym.getType() == ELF::STT_SECTION || Sym.getType() == ELF::STT_TLS)) {
488 if (auto LSOrErr = getSymbolLinkageAndScope(Sym, *Name))
494 unsigned Shndx = Sym.st_shndx;
500 Sym, SymIndex, ShndxTable->second);
512 TargetFlagsType Flags = makeTargetFlags(Sym);
513 orc::ExecutorAddrDiff Offset = getRawOffset(Sym, Flags);
515 if (Offset + Sym.st_size > B->getSize()) {
524 << (B->getAddress() + Offset + Sym.st_size) << ") extends "
525 << formatv("{0:x}", Offset + Sym.st_size - B->getSize())
538 ? G->addAnonymousSymbol(*B, Offset, Sym.st_size,
540 : G->addDefinedSymbol(*B, Offset, *Name, Sym.st_size, L,
541 S, Sym.getType() == ELF::STT_FUNC,
547 } else if (Sym.isUndefined() && Sym.isExternal()) {
554 if (Sym.getBinding() != ELF::STB_GLOBAL &&
555 Sym.getBinding() != ELF::STB_WEAK)
558 Twine(static_cast<int>(Sym.getBinding())) +
563 auto &GSym = G->addExternalSymbol(*Name, Sym.st_size,
564 Sym.getBinding() == ELF::STB_WEAK);
566 } else if (Sym.isUndefined() && Sym.st_value == 0 && Sym.st_size == 0 &&
567 Sym.getType() == ELF::STT_NOTYPE &&
568 Sym.getBinding() == ELF::STB_LOCAL && Name->empty()) {