Lines Matching refs:sym

51 std::string lld::toString(const elf::Symbol &sym) {  in toString()  argument
52 StringRef name = sym.getName(); in toString()
55 const char *suffix = sym.getVersionSuffix(); in toString()
78 static uint64_t getSymVA(const Symbol &sym, int64_t addend) { in getSymVA() argument
79 switch (sym.kind()) { in getSymVA()
81 auto &d = cast<Defined>(sym); in getSymVA()
130 ((sym.stOther & STO_MIPS_MICROMIPS) || sym.hasFlag(NEEDS_COPY))) in getSymVA()
294 void elf::printTraceSymbol(const Symbol &sym, StringRef name) { in printTraceSymbol() argument
296 if (sym.isUndefined()) in printTraceSymbol()
298 else if (sym.isLazy()) in printTraceSymbol()
300 else if (sym.isShared()) in printTraceSymbol()
302 else if (sym.isCommon()) in printTraceSymbol()
307 message(toString(sym.file) + s + name); in printTraceSymbol()
311 const InputFile &extracted, const Symbol &sym) { in recordWhyExtract() argument
312 ctx.whyExtractRecords.emplace_back(toString(reference), &extracted, sym); in recordWhyExtract()
315 void elf::maybeWarnUnorderableSymbol(const Symbol *sym) { in maybeWarnUnorderableSymbol() argument
325 if (sym->isUndefined() && !cast<Undefined>(sym)->discardedSecIdx && in maybeWarnUnorderableSymbol()
329 const InputFile *file = sym->file; in maybeWarnUnorderableSymbol()
330 auto *d = dyn_cast<Defined>(sym); in maybeWarnUnorderableSymbol()
332 auto report = [&](StringRef s) { warn(toString(file) + s + sym->getName()); }; in maybeWarnUnorderableSymbol()
334 if (sym->isUndefined()) { in maybeWarnUnorderableSymbol()
335 if (cast<Undefined>(sym)->discardedSecIdx) in maybeWarnUnorderableSymbol()
339 } else if (sym->isShared()) in maybeWarnUnorderableSymbol()
351 bool elf::computeIsPreemptible(const Symbol &sym) { in computeIsPreemptible() argument
352 assert(!sym.isLocal() || sym.isPlaceholder()); in computeIsPreemptible()
356 if (!sym.includeInDynsym() || sym.visibility() != STV_DEFAULT) in computeIsPreemptible()
361 if (!sym.isDefined()) in computeIsPreemptible()
373 sym.binding != STB_WEAK) || in computeIsPreemptible()
374 (config->bsymbolic == BsymbolicKind::Functions && sym.isFunc()) || in computeIsPreemptible()
375 (config->bsymbolic == BsymbolicKind::NonWeakFunctions && sym.isFunc() && in computeIsPreemptible()
376 sym.binding != STB_WEAK)) in computeIsPreemptible()
377 return sym.inDynamicList; in computeIsPreemptible()
528 void elf::reportDuplicate(const Symbol &sym, const InputFile *newFile, in reportDuplicate() argument
535 const Defined *d = dyn_cast<Defined>(&sym); in reportDuplicate()
542 errorOrWarn("duplicate symbol: " + toString(sym) + "\n>>> defined in " + in reportDuplicate()
543 toString(sym.file) + "\n>>> defined in " + toString(newFile)); in reportDuplicate()
555 std::string src1 = sec1->getSrcMsg(sym, d->value); in reportDuplicate()
557 std::string src2 = errSec->getSrcMsg(sym, errOffset); in reportDuplicate()
560 std::string msg = "duplicate symbol: " + toString(sym) + "\n>>> defined at "; in reportDuplicate()
687 void Defined::overwrite(Symbol &sym) const { in overwrite()
688 if (isa_and_nonnull<SharedFile>(sym.file)) in overwrite()
689 sym.versionId = VER_NDX_GLOBAL; in overwrite()
690 Symbol::overwrite(sym, DefinedKind); in overwrite()
691 auto &s = static_cast<Defined &>(sym); in overwrite()