Pin
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Enumerations | Functions | Variables
sym.cpp File Reference
#include "level_base.H"
#include "level_core.H"
#include "container.H"

Enumerations

enum  SYM_STATE {
  SYM_STATE_INVALID,
  SYM_STATE_RAW,
  SYM_STATE_LINKED,
  SYM_STATE_LAST
}
 
enum  SYM_IFUNC_TYPE {
  SYM_TYPE_NO_IFUNC = 0,
  SYM_TYPE_IFUNC,
  SYM_TYPE_ORIGINATED_FROM_IFUNC,
  SYM_TYPE_DEFUALT
}
 

Functions

ARRAYBASE LEVEL_CORE::SymArrayBase ("sym pool", 128 *1024)
 
STRIPE< SYM_STRUCT_BASE > LEVEL_CORE::SymStripeBase ("sym stripe base","core",&SymArrayBase)
 
SYM LEVEL_CORE::SYM_INVALID ()
 
BOOL LEVEL_CORE::SYM_valid (SYM x)
 
INT32 LEVEL_CORE::SYM_no (SYM x)
 
BOOL LEVEL_CORE::SYM_allocated (SYM x)
 
BOOL LEVEL_CORE::SYM_original (SYM x)
 
BOOL LEVEL_CORE::SYM_global (SYM x)
 
BOOL LEVEL_CORE::SYM_dynamic (SYM x)
 
BOOL LEVEL_CORE::SYM_ifunc_type (SYM x)
 
VAL_TYPE LEVEL_CORE::SYM_type (SYM x)
 
BOOL LEVEL_CORE::SYM_ifunc (SYM x)
 
BOOL LEVEL_CORE::SYM_originated_from_ifunc (SYM x)
 
SYM_STATE LEVEL_CORE::SYM_state (SYM x)
 
IMG LEVEL_CORE::SYM_img (SYM x)
 
SYM LEVEL_CORE::SYM_next (SYM x)
 
SYM LEVEL_CORE::SYM_prev (SYM x)
 
const string & LEVEL_CORE::SYM_name (SYM x)
 
UINT32 LEVEL_CORE::SYM_index_i (SYM x)
 
VOID LEVEL_CORE::SYM_index_i_set (SYM x, UINT32 y)
 
UINT32 LEVEL_CORE::SYM_string_offset (SYM x)
 
IADDR LEVEL_CORE::SYM_vaddr_i (SYM x)
 
UINT32 LEVEL_CORE::SYM_size_i (SYM x)
 
const VOID * LEVEL_CORE::SYM_symbheader_i (SYM x)
 
VAL * LEVEL_CORE::SYM_val (SYM x)
 
IADDR LEVEL_CORE::SYM_val_iaddr (SYM x)
 
BBL LEVEL_CORE::SYM_val_bbl (SYM x)
 
RTN LEVEL_CORE::SYM_val_rtn (SYM x)
 
SEC LEVEL_CORE::SYM_val_sec (SYM x)
 
LDEF LEVEL_CORE::SYM_val_ldef (SYM x)
 
CHUNK LEVEL_CORE::SYM_val_chunkoff_chunk (SYM x)
 
UINT32 LEVEL_CORE::SYM_val_chunkoff_off (SYM x)
 
VOID LEVEL_CORE::SYM_val_iaddr_set (SYM x, IADDR y)
 
VOID LEVEL_CORE::SYM_val_bbl_set (SYM x, BBL y)
 
VOID LEVEL_CORE::SYM_val_rtn_set (SYM x, RTN y)
 
VOID LEVEL_CORE::SYM_val_sec_set (SYM x, SEC y)
 
VOID LEVEL_CORE::SYM_val_ldef_set (SYM x, LDEF y)
 
VOID LEVEL_CORE::SYM_val_chunkoff_chunk_set (SYM x, CHUNK y)
 
VOID LEVEL_CORE::SYM_val_chunkoff_off_set (SYM x, UINT32 y)
 
string LEVEL_CORE::str (SYM sym)
 
string LEVEL_CORE::longstr (SYM sym)
 
LOCALINLINE VOID LEVEL_CORE::SYM_symbheader_i_set (SYM x, const VOID *y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_nameptr_set (SYM x, const string *y)
 
LOCALINLINE const string * LEVEL_CORE::SYM_nameptr (SYM x)
 
LOCALINLINE VOID LEVEL_CORE::SYM_dynamic_set (SYM x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_ifunc_type_set (SYM x, SYM_IFUNC_TYPE y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_global_set (SYM x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_allocated_set (SYM x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_original_set (SYM x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_img_set (SYM x, IMG y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_next_set (SYM x, SYM y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_prev_set (SYM x, SYM y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_type_set (SYM x, VAL_TYPE y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_vaddr_i_set (SYM x, IADDR y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_size_i_set (SYM x, UINT32 y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_state_set (SYM x, SYM_STATE y)
 
LOCALINLINE VOID LEVEL_CORE::SYM_string_offset_set (SYM x, UINT32 y)
 
const ATTRIBUTE LEVEL_CORE::ATTR_bbl_regsym ("reg","sym","bbl_regsym", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_SYM, B_CROSSLINK, FALSE,"")
 
const ATTRIBUTE LEVEL_CORE::ATTR_bbl_dynsym ("dyn","sym","bbl_dynsym", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_SYM, B_CROSSLINK, FALSE,"")
 
const ATTRIBUTE LEVEL_CORE::ATTR_chunk_regsym ("reg","sym","chunk_regsym", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_SYM, B_CROSSLINK, FALSE,"")
 
const ATTRIBUTE LEVEL_CORE::ATTR_chunk_dynsym ("dyn","sym","chunk_dynsym", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_SYM, B_CROSSLINK, FALSE,"")
 
VOID LEVEL_CORE::SYM_GarbageCollect ()
 
VOID LEVEL_CORE::SYM_SetSize (SYM sym, UINT32 size)
 
SYM LEVEL_CORE::SYM_Alloc ()
 
VOID LEVEL_CORE::SYM_Free (SYM sym)
 
VOID LEVEL_CORE::REGSYM_InsertBefore (SYM sym, SYM before, IMG parent)
 
VOID LEVEL_CORE::REGSYM_Append (SYM sym, IMG parent)
 
VOID LEVEL_CORE::REGSYM_InsertAfter (SYM sym, SYM after, IMG parent)
 
VOID LEVEL_CORE::REGSYM_Prepend (SYM sym, IMG parent)
 
VOID LEVEL_CORE::DYNSYM_InsertBefore (SYM sym, SYM before, IMG parent)
 
VOID LEVEL_CORE::DYNSYM_Append (SYM sym, IMG parent)
 
VOID LEVEL_CORE::DYNSYM_InsertAfter (SYM sym, SYM after, IMG parent)
 
VOID LEVEL_CORE::DYNSYM_Prepend (SYM sym, IMG parent)
 
VOID LEVEL_CORE::DYNSYM_Unlink (SYM sym)
 
VOID LEVEL_CORE::REGSYM_Unlink (SYM sym)
 
VOID LEVEL_CORE::SYM_Init (SYM sym, VAL_TYPE type, BOOL dynamic, SYM_IFUNC_TYPE ifunc_type, const string &name, UINT32 index, IADDR iaddr, UINT32 isize, const VOID *symbheader, BOOL global, BOOL original, UINT32 string_offset)
 
LOCALFUN SYM_STATE LEVEL_CORE::FindNextState (SYM_STATE state, const SYM_STATE *list)
 
VOID LEVEL_CORE::SYM_StateSet (SYM sym, SYM_STATE state)
 
VOID LEVEL_CORE::SYM_ValueSetAndLinkSec (SYM sym, SEC sec)
 
VOID LEVEL_CORE::SYM_ValueSetLdef (SYM sym, LDEF ldef)
 
VOID LEVEL_CORE::SYM_ValueSetAndLinkBbl (SYM sym, BBL bbl)
 
VOID LEVEL_CORE::SYM_ValueSetIaddr (SYM sym, IADDR x)
 
VOID LEVEL_CORE::SYM_ValueSetAndLinkChunkoff (SYM sym, CHUNK chunk, UINT32 offset)
 
VOID LEVEL_CORE::BBL_RemoveRegsyms (BBL bbl)
 
VOID LEVEL_CORE::CHUNK_RemoveRegsyms (CHUNK chunk)
 
LOCALFUN VOID LEVEL_CORE::SYM_LinkWithTarget (SYM sym, IMG img)
 
VOID LEVEL_CORE::IMG_LinkRegsymWithTarget (IMG img)
 
SYM LEVEL_CORE::IMG_AllocAndAppendNewUndefDynsym (IMG img, const string &name)
 
SYM LEVEL_CORE::IMG_AllocAndAppendNewBblDynsym (IMG img, const string &name, BBL bbl)
 
SYM LEVEL_CORE::IMG_AllocAndAppendNewRtnRegsym (IMG img, const string &name, BBL bbl)
 
SYM LEVEL_CORE::IMG_AllocAndAppendNewChunkDynsym (IMG img, const string &name, CHUNK chunk, UINT32 chunk_offset)
 
SYM LEVEL_CORE::IMG_AllocAndAppendNewChunkRegsym (IMG img, const string &name, CHUNK chunk, UINT32 chunk_offset)
 
VOID LEVEL_CORE::IMG_LinkDynsymWithTarget (IMG img)
 
string LEVEL_CORE::SYM_StringShort (SYM sym)
 
string LEVEL_CORE::IMG_PrintRegSyms (IMG img)
 
VOID LEVEL_CORE::SYM_Check (SYM sym)
 

Variables

LOCALVAR const SYM_STATE LEVEL_CORE::SYM_StateMachine []
 

Detailed Description

This file contains SYM primitives