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

Enumerations

enum  REL_TYPE {
  REL_TYPE_INVALID,
  LEVEL_CORE::REL_TYPE_CHUNK_ABS32,
  LEVEL_CORE::REL_TYPE_CHUNK_ABS64,
  LEVEL_CORE::REL_TYPE_INS_PCREL,
  LEVEL_CORE::REL_TYPE_INS_ABS64,
  LEVEL_CORE::REL_TYPE_INS_IA32IMM
}
 

Functions

ARRAYBASE LEVEL_CORE::RelArrayBase ("rel pool", 1024 *1024)
 
STRIPE< REL_STRUCT_BASE > LEVEL_CORE::RelStripeBase ("rel stripe base","core",&RelArrayBase)
 
REL LEVEL_CORE::REL_INVALID ()
 
BOOL LEVEL_CORE::REL_valid (REL x)
 
BOOL LEVEL_CORE::REL_allocated (REL x)
 
REL_TYPE LEVEL_CORE::REL_type (REL x)
 
INT32 LEVEL_CORE::REL_no (REL x)
 
REL LEVEL_CORE::REL_target_next (REL x)
 
REL LEVEL_CORE::REL_target_prev (REL x)
 
CHUNK LEVEL_CORE::REL_target_chunk (REL x)
 
UINT32 LEVEL_CORE::REL_target_off (REL x)
 
INS LEVEL_CORE::REL_target_ins (REL x)
 
VAL_TYPE LEVEL_CORE::REL_value_type (REL x)
 
VAL * LEVEL_CORE::REL_value_val (REL x)
 
SEC LEVEL_CORE::REL_value_val_secoff_sec (REL x)
 
UINT32 LEVEL_CORE::REL_value_val_secoff_off (REL x)
 
SYM LEVEL_CORE::REL_value_val_symoff_sym (REL x)
 
UINT32 LEVEL_CORE::REL_value_val_symoff_off (REL x)
 
GOT LEVEL_CORE::REL_value_val_got (REL x)
 
UINT32 LEVEL_CORE::REL_value_val_opd (REL x)
 
CHUNK LEVEL_CORE::REL_value_val_chunk (REL x)
 
UINT32 LEVEL_CORE::REL_value_val_pltoff (REL x)
 
UINT64 LEVEL_CORE::REL_value_val_uint64 (REL x)
 
BBL LEVEL_CORE::REL_value_val_bbl (REL x)
 
INS LEVEL_CORE::REL_value_val_ins (REL x)
 
CHUNK LEVEL_CORE::REL_value_val_chunkoff_chunk (REL x)
 
UINT32 LEVEL_CORE::REL_value_val_chunkoff_off (REL x)
 
string LEVEL_CORE::str (REL rel)
 
VOID LEVEL_CORE::REL_target_ins_set (REL x, INS y)
 
BOOL LEVEL_CORE::REL_IsChunkType (REL rel)
 
BOOL LEVEL_CORE::REL_IsInsType (REL rel)
 
LOCALINLINE VOID LEVEL_CORE::REL_allocated_set (REL x, BOOL y)
 
LOCALINLINE VOID LEVEL_CORE::REL_target_next_set (REL x, REL y)
 
LOCALINLINE VOID LEVEL_CORE::REL_target_prev_set (REL x, REL y)
 
LOCALINLINE VOID LEVEL_CORE::REL_type_set (REL x, REL_TYPE y)
 
LOCALINLINE VOID LEVEL_CORE::REL_value_type_set (REL x, VAL_TYPE y)
 
LOCALINLINE VOID LEVEL_CORE::REL_target_chunk_set (REL x, CHUNK y)
 
LOCALINLINE VOID LEVEL_CORE::REL_target_off_set (REL x, UINT32 y)
 
const ATTRIBUTE LEVEL_CORE::ATTR_bbl_rel ("rel","rel","bbl_rel", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_REL, B_CROSSLINK, FALSE,"")
 
const ATTRIBUTE LEVEL_CORE::ATTR_ins_rel ("rel","rel","ins_rel", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_REL, B_CROSSLINK, FALSE,"")
 
const ATTRIBUTE LEVEL_CORE::ATTR_chunk_rel ("rel","rel","chunk_rel", EXT_ATTR_MODE_MULTIPLE, VAL_TYPE_REL, B_CROSSLINK, FALSE,"")
 
REL LEVEL_CORE::REL_Alloc ()
 
REL LEVEL_CORE::REL_First ()
 
REL LEVEL_CORE::REL_Next (REL rel)
 
VOID LEVEL_CORE::REL_Free (REL rel)
 
LOCALFUN VOID LEVEL_CORE::REL_LinkChunkoff (REL rel, CHUNK parent, UINT32 offset)
 
VOID LEVEL_CORE::REL_TargetSetAndLinkChunkoff (REL rel, REL_TYPE type, CHUNK parent, UINT32 offset)
 
VOID LEVEL_CORE::REL_UnlinkChunk (REL rel)
 
VOID LEVEL_CORE::REL_TargetSetAndLinkIns (REL rel, REL_TYPE type, INS ins)
 
VOID LEVEL_CORE::REL_UnlinkIns (REL rel)
 
VOID LEVEL_CORE::REL_ValueSetVal (REL rel, VAL_TYPE type, const VAL *val)
 
VOID LEVEL_CORE::REL_ValueSetChunk (REL rel, CHUNK chunk)
 
VOID LEVEL_CORE::REL_ValueSetChunkoff (REL rel, CHUNK chunk, USIZE off)
 
VOID LEVEL_CORE::REL_ValueSetBbl (REL rel, BBL bbl)
 
VOID LEVEL_CORE::REL_ValueSetIns (REL rel, INS ins)
 
VOID LEVEL_CORE::REL_ValueSetLdef (REL rel, LDEF ldef)
 
VOID LEVEL_CORE::REL_ValueSetGot (REL rel, GOT got)
 
VOID LEVEL_CORE::REL_ValueSetUint32 (REL rel, UINT32 v)
 
VOID LEVEL_CORE::REL_ValueSetUint64 (REL rel, UINT64 v)
 
VOID LEVEL_CORE::REL_ValueSetZero (REL rel)
 
VOID LEVEL_CORE::REL_ValueSetSymoff (REL rel, SYM sym, UINT32 off)
 
LOCALFUN EXT LEVEL_CORE::FindRelInExtChain (EXT head, const ATTRIBUTE *attr, REL rel)
 
VOID LEVEL_CORE::REL_ValueUnlink (REL rel, BOOL relax)
 
VOID LEVEL_CORE::REL_MoveoverBblValues (const BBL src, const BBL dst)
 
VOID LEVEL_CORE::REL_MoveoverInsValues (const INS src, const INS dst)
 
BOOL LEVEL_CORE::REL_ValueEqual (REL rel, REL master)
 
BOOL LEVEL_CORE::HasSpecialOffsetForGotPcAccess (RTN rtn)
 
VOID LEVEL_CORE::CHUNK_ApplyRels (CHUNK chunk)
 
LOCALFUN string LEVEL_CORE::RELTYPE_StringShort (REL_TYPE type)
 
string LEVEL_CORE::REL_StringShort (REL rel)
 
VOID LEVEL_CORE::REL_Check (REL rel)
 

Detailed Description

This file contains REL primitives