Home | History | Annotate | Download | only in Fragment
      1 //===- Stub.cpp -----------------------------------------------------------===//
      2 //
      3 //                     The MCLinker Project
      4 //
      5 // This file is distributed under the University of Illinois Open Source
      6 // License. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 #include "mcld/Fragment/Stub.h"
     10 
     11 namespace mcld {
     12 
     13 Stub::Stub() : Fragment(Fragment::Stub), m_pSymInfo(NULL) {
     14 }
     15 
     16 Stub::~Stub() {
     17   for (fixup_iterator fixup = fixup_begin(); fixup != fixup_end(); ++fixup)
     18     delete (*fixup);
     19 }
     20 
     21 void Stub::setSymInfo(ResolveInfo* pSymInfo) {
     22   m_pSymInfo = pSymInfo;
     23 }
     24 
     25 void Stub::addFixup(DWord pOffset, SWord pAddend, Type pType) {
     26   assert(pOffset < size());
     27   m_FixupList.push_back(new Fixup(pOffset, pAddend, pType));
     28 }
     29 
     30 void Stub::addFixup(const Fixup& pFixup) {
     31   assert(pFixup.offset() < size());
     32   m_FixupList.push_back(new Fixup(pFixup));
     33 }
     34 
     35 }  // namespace mcld
     36