Home | History | Annotate | Download | only in Target
      1 //===- ELFDynamic.h -------------------------------------------------------===//
      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 
     10 //===----------------------------------------------------------------------===//
     11 /// 32-bit dynamic entry
     12 Entry<32, true>::Entry()
     13 {
     14   m_Pair.d_tag = 0;
     15   m_Pair.d_un.d_val = 0;
     16 }
     17 
     18 Entry<32, true>::~Entry()
     19 {
     20 }
     21 
     22 void Entry<32, true>::setValue(uint64_t pTag, uint64_t pValue)
     23 {
     24   m_Pair.d_tag = pTag;
     25   m_Pair.d_un.d_val = pValue;
     26 }
     27 
     28 size_t Entry<32, true>::emit(uint8_t* pAddress) const
     29 {
     30   memcpy(reinterpret_cast<void*>(pAddress),
     31          reinterpret_cast<const void*>(&m_Pair),
     32          sizeof(Pair));
     33   return sizeof(Pair);
     34 }
     35 
     36 //===----------------------------------------------------------------------===//
     37 /// 64-bit dynamic entry
     38 Entry<64, true>::Entry()
     39 {
     40   m_Pair.d_tag = 0;
     41   m_Pair.d_un.d_val = 0;
     42 }
     43 
     44 Entry<64, true>::~Entry()
     45 {
     46 }
     47 
     48 void Entry<64, true>::setValue(uint64_t pTag, uint64_t pValue)
     49 {
     50   m_Pair.d_tag = pTag;
     51   m_Pair.d_un.d_val = pValue;
     52 }
     53 
     54 size_t Entry<64, true>::emit(uint8_t* pAddress) const
     55 {
     56   memcpy(reinterpret_cast<void*>(pAddress),
     57          reinterpret_cast<const void*>(&m_Pair),
     58          sizeof(Pair));
     59   return sizeof(Pair);
     60 }
     61 
     62