//===- Stub.cpp -----------------------------------------------------------===//
//
// The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include <mcld/Fragment/Stub.h>
using namespace mcld;
Stub::Stub()
: Fragment(Fragment::Stub),
m_pSymInfo(NULL)
{
}
Stub::~Stub()
{
for (fixup_iterator fixup= fixup_begin(); fixup != fixup_end(); ++fixup)
delete(*fixup);
}
void Stub::setSymInfo(ResolveInfo* pSymInfo)
{
m_pSymInfo = pSymInfo;
}
void Stub::addFixup(DWord pOffset, SWord pAddend, Type pType)
{
assert(pOffset < size());
m_FixupList.push_back(new Fixup(pOffset, pAddend, pType));
}
void Stub::addFixup(const Fixup& pFixup)
{
assert(pFixup.offset() < size());
m_FixupList.push_back(new Fixup(pFixup));
}