Lines Matching defs:Writer

1 //===-- X86MachObjectWriter.cpp - X86 Mach-O Writer -----------------------===//
27 bool recordScatteredRelocation(MachObjectWriter *Writer,
34 void recordTLVPRelocation(MachObjectWriter *Writer,
41 void RecordX86Relocation(MachObjectWriter *Writer,
47 void RecordX86_64Relocation(MachObjectWriter *Writer, MCAssembler &Asm,
55 void recordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
58 if (Writer->is64Bit())
59 RecordX86_64Relocation(Writer, Asm, Fragment, Fixup, Target, FixedValue);
61 RecordX86Relocation(Writer, Asm, Fragment, Fixup, Target, FixedValue);
96 MachObjectWriter *Writer, MCAssembler &Asm, const MCFragment *Fragment,
98 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
105 Writer->getFragmentAddress(Asm, Fragment) + Fixup.getOffset();
138 A = &Writer->findAliasedSymbol(*A);
139 const MCSymbol *A_Base = Writer->getAtom(*A);
143 B = &Writer->findAliasedSymbol(*B);
144 const MCSymbol *B_Base = Writer->getAtom(*B);
187 Value += Writer->getSymbolAddress(*A, Asm) -
188 (!A_Base ? 0 : Writer->getSymbolAddress(*A_Base, Asm));
189 Value -= Writer->getSymbolAddress(*B, Asm) -
190 (!B_Base ? 0 : Writer->getSymbolAddress(*B_Base, Asm));
200 Writer->addRelocation(A_Base, Fragment->getParent(), MRE);
214 RelSymbol = Writer->getAtom(*Symbol);
237 Value += Writer->getSymbolAddress(*Symbol, Asm);
245 Value->evaluateAsAbsolute(Res, Asm, Writer->getSectionAddressMap());
350 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
353 bool X86MachObjectWriter::recordScatteredRelocation(MachObjectWriter *Writer,
362 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
376 uint32_t Value = Writer->getSymbolAddress(*A, Asm);
377 uint64_t SecAddr = Writer->getSectionAddress(A->getFragment()->getParent());
399 Value2 = Writer->getSymbolAddress(*SB, Asm);
400 FixedValue -= Writer->getSectionAddress(SB->getFragment()->getParent());
426 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
448 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
452 void X86MachObjectWriter::recordTLVPRelocation(MachObjectWriter *Writer,
473 Writer->getFragmentAddress(Asm, Fragment) + Fixup.getOffset();
476 Writer->getSymbolAddress(SymB->getSymbol(), Asm) +
488 Writer->addRelocation(&SymA->getSymbol(), Fragment->getParent(), MRE);
491 void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
497 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
503 recordTLVPRelocation(Writer, Asm, Fragment, Fixup, Target, FixedValue);
511 recordScatteredRelocation(Writer, Asm, Fragment, Fixup, Target, Log2Size,
530 if (Offset && A && !Writer->doesSymbolRequireExternRelocation(*A) &&
531 recordScatteredRelocation(Writer, Asm, Fragment, Fixup, Target, Log2Size,
554 Res, Asm, Writer->getSectionAddressMap())) {
561 if (Writer->doesSymbolRequireExternRelocation(*A)) {
572 FixedValue += Writer->getSectionAddress(&Sec);
575 FixedValue -= Writer->getSectionAddress(Fragment->getParent());
585 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);