15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- GOT.cpp ------------------------------------------------------------===// 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// The MCLinker Project 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// This file is distributed under the University of Illinois Open Source 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// License. See LICENSE.TXT for details. 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 9cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <mcld/Target/GOT.h> 11cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao 125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <cstring> 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include <cstdlib> 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaousing namespace mcld; 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// GOTEntry 19cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//===----------------------------------------------------------------------===// 20cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei LiaoGOTEntry::GOTEntry(uint64_t pContent, size_t pEntrySize, SectionData* pParent) 21cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao : TargetFragment(Fragment::Target, pParent), 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao f_Content(pContent), m_EntrySize(pEntrySize) { 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoGOTEntry::~GOTEntry() 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// GOT 31cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao//===----------------------------------------------------------------------===// 325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoGOT::GOT(LDSection& pSection, 33cedee4b38f4786845183be7f5916dd520a170ae0Shih-wei Liao SectionData& pSectionData, 345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao size_t pEntrySize) 355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao : m_Section(pSection), 365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_SectionData(pSectionData), 375460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao f_EntrySize(pEntrySize) { 385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 395460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 405460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei LiaoGOT::~GOT() 415460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 425460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 435460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 445460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaosize_t GOT::getEntrySize() const 455460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 465460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao return f_EntrySize; 475460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 485460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 49