Home | History | Annotate | Download | only in MC

Lines Matching refs:SD

41 doesSymbolRequireExternRelocation(const MCSymbolData *SD) {
43 if (SD->Symbol->isUndefined())
48 if (SD->getFlags() & SF_WeakDefinition)
74 uint64_t MachObjectWriter::getSymbolAddress(const MCSymbolData* SD,
76 const MCSymbol &S = SD->getSymbol();
108 return getSectionAddress(SD->getFragment()->getParent()) +
109 Layout.getSymbolOffset(SD);
112 uint64_t MachObjectWriter::getPaddingSize(const MCSectionData *SD,
114 uint64_t EndAddr = getSectionAddress(SD) + Layout.getSectionAddressSize(SD);
115 unsigned Next = SD->getLayoutOrder() + 1;
199 const MCSectionData &SD,
203 uint64_t SectionSize = Layout.getSectionAddressSize(&SD);
206 if (SD.getSection().isVirtualSection()) {
207 assert(Layout.getSectionFileSize(&SD) == 0 && "Invalid file size!");
217 const MCSectionMachO &Section = cast<MCSectionMachO>(SD.getSection());
221 Write64(getSectionAddress(&SD)); // address
224 Write32(getSectionAddress(&SD)); // address
230 if (SD.hasInstructions())
233 assert(isPowerOf2_32(SD.getAlignment()) && "Invalid alignment!");
234 Write32(Log2_32(SD.getAlignment()));
238 Write32(IndirectSymBase.lookup(&SD)); // reserved1
591 const MCSectionData *SD = Order[i];
592 StartAddress = RoundUpToAlignment(StartAddress, SD->getAlignment());
593 SectionAddress[SD] = StartAddress;
594 StartAddress += Layout.getSectionAddressSize(SD);
599 StartAddress += getPaddingSize(SD, Layout);
608 MCSymbolData &SD = *i;
609 if (!SD.getSymbol().isVariable())
614 const MCExpr *Expr = SD.getSymbol().getVariableValue();
618 const_cast<MCSymbol*>(&SD.getSymbol())->setAbsolute();
763 const MCSectionData &SD = *it;
764 uint64_t Address = getSectionAddress(&SD);
765 uint64_t Size = Layout.getSectionAddressSize(&SD);
766 uint64_t FileSize = Layout.getSectionFileSize(&SD);
767 FileSize += getPaddingSize(&SD, Layout);
771 if (SD.getSection().isVirtualSection())