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,
103 MachObjectWriter *Writer, MCAssembler &Asm, const MCAsmLayout &Layout,
106 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
114 Writer->getFragmentAddress(Fragment, Layout) + Fixup.getOffset();
147 A = &Writer->findAliasedSymbol(*A);
152 B = &Writer->findAliasedSymbol(*B);
197 Value += Writer->getSymbolAddress(*A, Layout) -
198 (!A_Base ? 0 : Writer->getSymbolAddress(*A_Base, Layout));
199 Value -= Writer->getSymbolAddress(*B, Layout) -
200 (!B_Base ? 0 : Writer->getSymbolAddress(*B_Base, Layout));
210 Writer->addRelocation(A_Base, Fragment->getParent(), MRE);
248 Value += Writer->getSymbolAddress(*Symbol, Layout);
256 Writer->getSectionAddressMap());
362 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
365 bool X86MachObjectWriter::recordScatteredRelocation(MachObjectWriter *Writer,
375 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
389 uint32_t Value = Writer->getSymbolAddress(*A, Layout);
390 uint64_t SecAddr = Writer->getSectionAddress(A->getFragment()->getParent());
412 Value2 = Writer->getSymbolAddress(B->getSymbol(), Layout);
413 FixedValue -= Writer->getSectionAddress(SB->getFragment()->getParent());
439 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
461 Writer->addRelocation(nullptr, Fragment->getParent(), MRE);
465 void X86MachObjectWriter::recordTLVPRelocation(MachObjectWriter *Writer,
487 Writer->getFragmentAddress(Fragment, Layout) + Fixup.getOffset();
491 Writer->getSymbolAddress(Target.getSymB()->getSymbol(), Layout) +
503 Writer->addRelocation(&Target.getSymA()->getSymbol(), Fragment->getParent(),
507 void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
514 unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
520 recordTLVPRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
529 recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup,
547 if (Offset && A && !Writer->doesSymbolRequireExternRelocation(*A) &&
548 recordScatteredRelocation(Writer, Asm, Layout, Fragment, Fixup, Target,
569 Res, Layout, Writer->getSectionAddressMap())) {
576 if (Writer->doesSymbolRequireExternRelocation(*A)) {
587 FixedValue += Writer->getSectionAddress(&Sec);
590 FixedValue -= Writer->getSectionAddress(Fragment->getParent());
600 Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);