Lines Matching defs:Asm
161 void executePostLayoutBinding(MCAssembler &Asm);
162 void recordRelocation(MCAssembler &Asm, const MCFragment *Fragment,
165 uint64_t writeObject(MCAssembler &Asm);
173 void defineSection(const MCAssembler &Asm, MCSectionCOFF const &Sec);
176 void defineSymbol(const MCAssembler &Asm, const MCSymbol &Symbol);
189 uint32_t writeSectionContents(MCAssembler &Asm, const MCSection &MCSec);
190 void writeSection(MCAssembler &Asm, const COFFSection &Sec);
192 void createFileSymbols(MCAssembler &Asm);
195 void assignFileOffsets(MCAssembler &Asm);
294 void WinCOFFWriter::defineSection(const MCAssembler &Asm,
330 for (uint32_t Off = Interval, E = Asm.getSectionAddressSize(MCSec); Off < E;
342 static uint64_t getSymbolValue(const MCSymbol &Symbol, const MCAssembler &Asm) {
347 if (!Asm.getSymbolOffset(Symbol, Res))
371 void WinCOFFWriter::defineSymbol(const MCAssembler &Asm,
373 const MCSymbol *Base = Asm.getBaseSymbol(MCSym);
420 Local->Data.Value = getSymbolValue(MCSym, Asm);
575 // "Asm.writeSectionData(&MCSec)", but it's a bit complicated
577 uint32_t WinCOFFWriter::writeSectionContents(MCAssembler &Asm,
583 Asm.writeSectionData(VecOS, &MCSec);
595 void WinCOFFWriter::writeSection(MCAssembler &Asm, const COFFSection &Sec) {
604 uint32_t CRC = writeSectionContents(Asm, *Sec.MCSection);
638 void WinCOFFWriter::createFileSymbols(MCAssembler &Asm) {
736 void WinCOFFWriter::assignFileOffsets(MCAssembler &Asm) {
742 for (const auto &Section : Asm) {
748 Sec->Header.SizeOfRawData = Asm.getSectionAddressSize(Section);
809 void WinCOFFWriter::executePostLayoutBinding(MCAssembler &Asm) {
812 for (const auto &Section : Asm) {
816 defineSection(Asm, static_cast<const MCSectionCOFF &>(Section));
820 for (const MCSymbol &Symbol : Asm.symbols())
824 defineSymbol(Asm, Symbol);
836 void WinCOFFWriter::recordRelocation(MCAssembler &Asm,
844 Asm.getContext().reportError(Fixup.getLoc(), Twine("symbol '") +
850 Asm.getContext().reportError(Fixup.getLoc(), Twine("assembler label '") +
868 Asm.getContext().reportError(
876 int64_t OffsetOfB = Asm.getSymbolOffset(*B);
880 Asm.getFragmentOffset(*Fragment) + Fixup.getOffset();
890 Reloc.Data.VirtualAddress = Asm.getFragmentOffset(*Fragment);
900 FixedValue += Asm.getSymbolOffset(A);
926 Asm.getContext(), Target, Fixup, SymB, Asm.getBackend());
1003 uint64_t WinCOFFWriter::writeObject(MCAssembler &Asm) {
1008 createFileSymbols(Asm);
1059 Asm.getContext().reportError(
1079 auto *Sec = Asm.getContext().getCOFFSection(
1101 auto *Sec = Asm.getContext().getCOFFSection(
1114 assignFileOffsets(Asm);
1132 auto J = Asm.begin();
1133 auto JE = Asm.end();
1144 writeSection(Asm, *Sec);
1179 const MCAssembler &Asm, const MCSymbol &SymA, const MCFragment &FB,
1193 void WinCOFFObjectWriter::executePostLayoutBinding(MCAssembler &Asm) {
1194 ObjWriter->executePostLayoutBinding(Asm);
1196 DwoWriter->executePostLayoutBinding(Asm);
1199 void WinCOFFObjectWriter::recordRelocation(MCAssembler &Asm,
1205 ObjWriter->recordRelocation(Asm, Fragment, Fixup, Target, FixedValue);
1208 uint64_t WinCOFFObjectWriter::writeObject(MCAssembler &Asm) {
1211 if (Asm.getContext().hadError())
1214 uint64_t TotalSize = ObjWriter->writeObject(Asm);
1216 TotalSize += DwoWriter->writeObject(Asm);