Lines Matching refs:Writer
1 //===-- X86MachObjectWriter.cpp - X86 Mach-O Writer -----------------------===//
28 bool recordScatteredRelocation(MachObjectWriter *Writer,
36 void recordTLVPRelocation(MachObjectWriter *Writer,
44 void RecordX86Relocation(MachObjectWriter *Writer,
51 void RecordX86_64Relocation(MachObjectWriter *Writer, MCAssembler &Asm,
60 void recordRelocation(MachObjectWriter *Writer, MCAssembler &Asm,
64 if (Writer->is64Bit())
65 RecordX86_64Relocation(Writer, Asm, Layout, Fragment, Fixup, Target,
68 RecordX86Relocation(Writer, Asm, Layout, Fragment, Fixup, Target,
98 MachObjectWriter *Writer, MCAssembler &Asm, const MCAsmLayout &Layout,
101 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
109 Writer->getFragmentAddress(Fragment, Layout) + Fixup.getOffset();
142 A = &Writer->findAliasedSymbol(*A);
147 B = &Writer->findAliasedSymbol(*B);
192 Value += Writer->getSymbolAddress(*A, Layout) -
193 (!A_Base ? 0 : Writer->getSymbolAddress(*A_Base, Layout));
194 Value -= Writer->getSymbolAddress(*B, Layout) -
195 (!B_Base ? 0 : Writer->getSymbolAddress(*B_Base, Layout));
205 Writer->addRelocation(A_Base, Fragment->getParent(), MRE);
243 Value += Writer->getSymbolAddress(*Symbol, Layout);
251 Writer->getSectionAddressMap());
357 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
360 bool X86MachObjectWriter::recordScatteredRelocation(MachObjectWriter *Writer,
370 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
384 uint32_t Value = Writer->getSymbolAddress(*A, Layout);
385 uint64_t SecAddr = Writer->getSectionAddress(A->getFragment()->getParent());
407 Value2 = Writer->getSymbolAddress(B->getSymbol(), Layout);
408 FixedValue -= Writer->getSectionAddress(SB->getFragment()->getParent());
434 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
456 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
460 void X86MachObjectWriter::recordTLVPRelocation(MachObjectWriter *Writer,
482 Writer->getFragmentAddress(Fragment, Layout) + Fixup.getOffset();
486 Writer->getSymbolAddress(Target.getSymB()->getSymbol(), Layout) +
498 Writer->addRelocation(&Target.getSymA()->getSymbol(), Fragment->getParent(),
502 void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
509 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
515 recordTLVPRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
524 recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup,
542 if (Offset && A && !Writer->doesSymbolRequireExternRelocation(*A) &&
543 recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
564 Res, Layout, Writer->getSectionAddressMap())) {
571 if (Writer->doesSymbolRequireExternRelocation(*A)) {
582 FixedValue += Writer->getSectionAddress(&Sec);
585 FixedValue -= Writer->getSectionAddress(Fragment->getParent());
595 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);