Dyninst::SymtabAPI::relocationEntry Class Reference

#include <Symtab.h>

Inheritance diagram for Dyninst::SymtabAPI::relocationEntry:
Dyninst::Serializable Dyninst::AnnotatableSparse

Public Types

enum  { pltrel = 1, dynrel = 2 }
typedef dyn_hash_map< void
*, void *, void_ptr_hasher
annos_by_type_t
typedef std::vector
< annos_by_type_t * > 
annos_t

Public Member Functions

SYMTAB_EXPORT relocationEntry ()
SYMTAB_EXPORT relocationEntry (Offset ta, Offset ra, Offset add, std::string n, Symbol *dynref=NULL, unsigned long relType=0)
SYMTAB_EXPORT relocationEntry (Offset ta, Offset ra, std::string n, Symbol *dynref=NULL, unsigned long relType=0)
SYMTAB_EXPORT relocationEntry (Offset ra, std::string n, Symbol *dynref=NULL, unsigned long relType=0, Region::RegionType rtype=Region::RT_REL)
SYMTAB_EXPORT relocationEntry (Offset ta, Offset ra, Offset add, std::string n, Symbol *dynref=NULL, unsigned long relType=0, Region::RegionType rtype=Region::RT_REL)
SYMTAB_EXPORT Serializableserialize_impl (SerializerBase *sb, const char *tag="relocationEntry") THROW_SPEC(SerializerError)
SYMTAB_EXPORT Offset target_addr () const
SYMTAB_EXPORT Offset rel_addr () const
SYMTAB_EXPORT Offset addend () const
SYMTAB_EXPORT Region::RegionType regionType () const
SYMTAB_EXPORT const std::string & name () const
SYMTAB_EXPORT SymbolgetDynSym () const
SYMTAB_EXPORT bool addDynSym (Symbol *dynref)
SYMTAB_EXPORT unsigned long getRelType () const
SYMTAB_EXPORT void setTargetAddr (const Offset)
SYMTAB_EXPORT void setRelAddr (const Offset)
SYMTAB_EXPORT void setAddend (const Offset)
SYMTAB_EXPORT void setRegionType (const Region::RegionType)
SYMTAB_EXPORT void setName (const std::string &newName)
SYMTAB_EXPORT void setRelType (unsigned long relType)
SYMTAB_EXPORT bool operator== (const relocationEntry &) const
template<class T >
AN_INLINE bool addAnnotation (const T *a, AnnotationClass< T > &a_id)
bool operator== (AnnotatableSparse &cmp)
template<class T >
AN_INLINE bool getAnnotation (T *&a, AnnotationClass< T > &a_id) const
template<class T >
bool removeAnnotation (AnnotationClass< T > &a_id)
void serializeAnnotations (SerializerBase *sb, const char *)
void annotationsReport ()

Static Public Member Functions

static SYMTAB_EXPORT unsigned long getGlobalRelType (unsigned addressWidth, Symbol *sym=NULL)
static const char * relType2Str (unsigned long r, unsigned addressWidth=sizeof(Address))

Data Fields

enum
Dyninst::SymtabAPI::relocationEntry:: { ... }  
relocationType

Private Attributes

Offset target_addr_
Offset rel_addr_
Offset addend_
Region::RegionType rtype_
std::string name_
Symboldynref_
unsigned long relType_
Offset rel_struct_addr_

Friends

SYMTAB_EXPORT std::ostream & operator<< (std::ostream &os, const relocationEntry &q)

Detailed Description

Definition at line 657 of file Symtab.h.


Member Typedef Documentation

typedef dyn_hash_map<void *, void *, void_ptr_hasher> Dyninst::AnnotatableSparse::annos_by_type_t [inherited]

Definition at line 505 of file Annotatable.h.

typedef std::vector<annos_by_type_t *> Dyninst::AnnotatableSparse::annos_t [inherited]

Definition at line 508 of file Annotatable.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
pltrel 
dynrel 

Definition at line 695 of file Symtab.h.


Constructor & Destructor Documentation

SYMTAB_EXPORT relocationEntry::relocationEntry (  ) 

Definition at line 3259 of file Symtab.C.

SYMTAB_EXPORT relocationEntry::relocationEntry ( Offset  ta,
Offset  ra,
Offset  add,
std::string  n,
Symbol dynref = NULL,
unsigned long  relType = 0 
)

Definition at line 3282 of file Symtab.C.

SYMTAB_EXPORT relocationEntry::relocationEntry ( Offset  ta,
Offset  ra,
std::string  n,
Symbol dynref = NULL,
unsigned long  relType = 0 
)

Definition at line 3270 of file Symtab.C.

SYMTAB_EXPORT relocationEntry::relocationEntry ( Offset  ra,
std::string  n,
Symbol dynref = NULL,
unsigned long  relType = 0,
Region::RegionType  rtype = Region::RT_REL 
)

Definition at line 3294 of file Symtab.C.

SYMTAB_EXPORT relocationEntry::relocationEntry ( Offset  ta,
Offset  ra,
Offset  add,
std::string  n,
Symbol dynref = NULL,
unsigned long  relType = 0,
Region::RegionType  rtype = Region::RT_REL 
)

Definition at line 3307 of file Symtab.C.


Member Function Documentation

template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::addAnnotation ( const T *  a,
AnnotationClass< T > &  a_id 
) [inline, inherited]
SYMTAB_EXPORT bool relocationEntry::addDynSym ( Symbol dynref  ) 
SYMTAB_EXPORT Offset relocationEntry::addend (  )  const
void Dyninst::AnnotatableSparse::annotationsReport (  )  [inline, inherited]
template<class T >
AN_INLINE bool Dyninst::AnnotatableSparse::getAnnotation ( T *&  a,
AnnotationClass< T > &  a_id 
) const [inline, inherited]
SYMTAB_EXPORT Symbol * relocationEntry::getDynSym (  )  const
unsigned long relocationEntry::getGlobalRelType ( unsigned  addressWidth,
Symbol sym = NULL 
) [static]

Definition at line 142 of file relocationEntry-elf-ppc32.C.

SYMTAB_EXPORT unsigned long relocationEntry::getRelType (  )  const
SYMTAB_EXPORT const string & relocationEntry::name (  )  const
bool Dyninst::AnnotatableSparse::operator== ( AnnotatableSparse cmp  )  [inline, inherited]
bool relocationEntry::operator== ( const relocationEntry r  )  const
SYMTAB_EXPORT Region::RegionType relocationEntry::regionType (  )  const

Definition at line 3356 of file Symtab.C.

References rtype_.

Referenced by Dyninst::SymtabAPI::emitElfStatic::archSpecificRelocation().

SYMTAB_EXPORT Offset relocationEntry::rel_addr (  )  const
const char * relocationEntry::relType2Str ( unsigned long  r,
unsigned  addressWidth = sizeof(Address) 
) [static]
template<class T >
bool Dyninst::AnnotatableSparse::removeAnnotation ( AnnotationClass< T > &  a_id  )  [inline, inherited]
Serializable * relocationEntry::serialize_impl ( SerializerBase sb,
const char *  tag = "relocationEntry" 
)

Definition at line 3475 of file Symtab.C.

void Dyninst::AnnotatableSparse::serializeAnnotations ( SerializerBase sb,
const char *   
) [inline, inherited]
SYMTAB_EXPORT void relocationEntry::setAddend ( const Offset  value  ) 
SYMTAB_EXPORT void relocationEntry::setName ( const std::string &  newName  ) 

Definition at line 3381 of file Symtab.C.

References name_.

SYMTAB_EXPORT void relocationEntry::setRegionType ( const Region::RegionType  value  ) 
SYMTAB_EXPORT void relocationEntry::setRelAddr ( const Offset  value  ) 

Definition at line 3335 of file Symtab.C.

References rel_addr_.

SYMTAB_EXPORT void Dyninst::SymtabAPI::relocationEntry::setRelType ( unsigned long  relType  )  [inline]

Definition at line 688 of file Symtab.h.

References relType_.

SYMTAB_EXPORT void relocationEntry::setTargetAddr ( const Offset  off  ) 

Definition at line 3325 of file Symtab.C.

References target_addr_.

SYMTAB_EXPORT Offset relocationEntry::target_addr (  )  const

Definition at line 3320 of file Symtab.C.

References target_addr_.


Friends And Related Function Documentation

SYMTAB_EXPORT std::ostream& operator<< ( std::ostream &  os,
const relocationEntry q 
) [friend]

Field Documentation

Definition at line 705 of file Symtab.h.

Referenced by addend(), operator==(), and setAddend().

Definition at line 708 of file Symtab.h.

Referenced by addDynSym(), getDynSym(), and operator==().

Definition at line 707 of file Symtab.h.

Referenced by name(), operator==(), and setName().

Definition at line 704 of file Symtab.h.

Referenced by operator==(), rel_addr(), and setRelAddr().

Definition at line 710 of file Symtab.h.

Definition at line 709 of file Symtab.h.

Referenced by getRelType(), operator==(), and setRelType().

Definition at line 706 of file Symtab.h.

Referenced by operator==(), regionType(), and setRegionType().

Definition at line 703 of file Symtab.h.

Referenced by operator==(), setTargetAddr(), and target_addr().


The documentation for this class was generated from the following files:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1