Lines Matching defs:Asm
109 static uint64_t symbolValue(const MCAssembler &Asm, const MCSymbol &Sym);
110 static bool isInSymtab(const MCAssembler &Asm, const MCSymbolELF &Symbol,
167 void writeHeader(const MCAssembler &Asm);
169 void writeSymbol(const MCAssembler &Asm, SymbolTableWriter &Writer,
177 /// \param Asm - The assembler.
179 void computeSymbolTable(MCAssembler &Asm, const RevGroupMapTy &RevGroupMap);
186 void writeSectionHeader(const MCAssembler &Asm);
188 void writeSectionData(const MCAssembler &Asm, MCSection &Sec);
195 void writeRelocations(const MCAssembler &Asm, const MCSectionELF &Sec);
197 uint64_t writeObject(MCAssembler &Asm);
271 void ELFWriter::writeHeader(const MCAssembler &Asm) {
332 uint64_t ELFWriter::symbolValue(const MCAssembler &Asm, const MCSymbol &Sym) {
337 if (!Asm.getSymbolOffset(Sym, Res))
340 if (Asm.isThumbFunc(&Sym))
394 void ELFWriter::writeSymbol(const MCAssembler &Asm, SymbolTableWriter &Writer,
398 cast_or_null<MCSymbolELF>(Asm.getBaseSymbol(Symbol));
419 uint64_t Value = symbolValue(Asm, *MSD.Symbol);
446 if (!ESize->evaluateKnownAbsolute(Res, Asm))
456 bool ELFWriter::isInSymtab(const MCAssembler &Asm, const MCSymbolELF &Symbol,
478 Asm.getBaseSymbol(Symbol);
491 void ELFWriter::computeSymbolTable(MCAssembler &Asm,
493 MCContext &Ctx = Asm.getContext();
517 for (auto It : llvm::enumerate(Asm.symbols())) {
523 if (!isInSymtab(Asm, Symbol, Used || WeakrefUsed || isSignature,
633 writeSymbol(Asm, Writer, StringIndex, MSD);
648 writeSymbol(Asm, Writer, StringIndex, MSD);
733 void ELFWriter::writeSectionData(const MCAssembler &Asm, MCSection &Sec) {
736 auto &Ctx = Asm.getContext();
742 Asm.writeSectionData(W.OS, &Section);
748 Asm.writeSectionData(VecOS, &Section);
806 void ELFWriter::writeRelocations(const MCAssembler &Asm,
809 const MCTargetOptions *TO = Asm.getContext().getTargetOptions();
813 OWriter.TargetObjectWriter->sortRelocs(Asm, Relocs);
931 void ELFWriter::writeSectionHeader(const MCAssembler &Asm) {
950 Size = Asm.getSectionAddressSize(*Section);
958 uint64_t ELFWriter::writeObject(MCAssembler &Asm) {
961 MCContext &Ctx = Asm.getContext();
969 writeHeader(Asm);
976 for (MCSection &Sec : Asm) {
987 writeSectionData(Asm, Section);
1049 computeSymbolTable(Asm, RevGroupMap);
1055 writeRelocations(Asm,
1079 writeSectionHeader(Asm);
1131 void ELFObjectWriter::executePostLayoutBinding(MCAssembler &Asm) {
1147 cast<MCSymbolELF>(Asm.getContext().getOrCreateSymbol(Prefix + Tail));
1148 Asm.registerSymbol(*Alias);
1149 const MCExpr *Value = MCSymbolRefExpr::create(&Symbol, Asm.getContext());
1163 Asm.getContext().reportError(S.Loc, "default version symbol " +
1169 Asm.getContext().reportError(S.Loc, Twine("multiple versions for ") +
1189 bool ELFObjectWriter::shouldRelocateWithSymbol(const MCAssembler &Asm,
1310 if (Asm.isThumbFunc(Sym))
1334 void ELFObjectWriter::recordRelocation(MCAssembler &Asm,
1338 MCAsmBackend &Backend = Asm.getBackend();
1343 uint64_t FixupOffset = Asm.getFragmentOffset(*Fragment) + Fixup.getOffset();
1344 MCContext &Ctx = Asm.getContext();
1366 C += FixupOffset - Asm.getSymbolOffset(SymB);
1394 shouldRelocateWithSymbol(Asm, Target, SymA, C, Type) ||
1399 ? C + Asm.getSymbolOffset(*SymA)
1438 const MCAssembler &Asm, const MCSymbol &SA, const MCFragment &FB,
1450 uint64_t ELFObjectWriter::writeObject(MCAssembler &Asm) {
1454 .writeObject(Asm);
1457 .writeObject(Asm);