Esempio n. 1
0
MCSectionData::MCSectionData(const MCSection &_Section, MCAssembler *A)
  : Section(&_Section),
    Ordinal(~UINT32_C(0)),
    Alignment(1),
    BundleLockState(NotBundleLocked), BundleGroupBeforeFirstInst(false),
    HasInstructions(false)
{
  // @LOCALMOD-BEGIN
  if (A) {
    // Necessary for IRT building because the IRT loader expects the end of
    // the section to be bundle-aligned. Padding happens with 0's though,
    // so it's not really ideal. TODO(dschuff) figure out how to do it right.
    A->getSectionList().push_back(this);
    if (A->isBundlingEnabled() && _Section.UseCodeAlign())
      setAlignment(A->getBundleAlignSize());
  }
  // @LOCALMOD-END
}