CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CLRX::ElfRegionTemplate< Types > Struct Template Reference

template of ElfRegion More...

#include <ElfBinaries.h>

Public Member Functions

 ElfRegionTemplate (typename Types::Word _size, const cxbyte *_data, typename Types::Word _align)
 constructor for user region
 
 ElfRegionTemplate (typename Types::Word _size, const ElfRegionContent *contentGen, typename Types::Word _align)
 constructor for user region with content generator
 
 ElfRegionTemplate (ElfRegionType _type, typename Types::Word _size, const cxbyte *_data, typename Types::Word _align)
 constructor for region
 
 ElfRegionTemplate (ElfRegionType _type, typename Types::Word _size, const ElfRegionContent *contentGen, typename Types::Word _align)
 constructor for region with content generator
 
 ElfRegionTemplate (typename Types::Word _size, const cxbyte *_data, typename Types::Word _align, const char *_name, uint32_t _type, typename Types::SectionFlags _flags, uint32_t _link=0, uint32_t _info=0, typename Types::Word _addrBase=0, typename Types::Word _entSize=0, bool _zeroOffset=false, typename Types::Word _sectAlign=0)
 constructor for section
 
 ElfRegionTemplate (typename Types::Word _size, const ElfRegionContent *_data, typename Types::Word _align, const char *inName, uint32_t _type, typename Types::SectionFlags _flags, uint32_t _link=0, uint32_t _info=0, typename Types::Word _addrBase=0, typename Types::Word _entSize=0, bool _zeroOffset=false, typename Types::Word _sectAlign=0)
 constructor for section with generator
 
 ElfRegionTemplate (const BinSection &binSection, const uint16_t *builtinSections, cxuint maxBuiltinSection, cxuint startExtraIndex)
 constructor for external section (BinSection) More...
 

Static Public Member Functions

static ElfRegionTemplate programHeaderTable ()
 get program header table region
 
static ElfRegionTemplate sectionHeaderTable ()
 get program header table region
 
static ElfRegionTemplate strtabSection ()
 get .strtab section
 
static ElfRegionTemplate dynstrSection ()
 get .dynstr section
 
static ElfRegionTemplate shstrtabSection ()
 get .shstrtab section
 
static ElfRegionTemplate symtabSection (bool defInfo=true)
 get symtab section
 
static ElfRegionTemplate dynsymSection (bool defInfo=true)
 get dynsym section
 
static ElfRegionTemplate hashSection (uint16_t link)
 get hash section
 
static ElfRegionTemplate noteSection ()
 get note section
 
static ElfRegionTemplate dynamicSection (uint16_t link)
 get dynamic
 

Public Attributes

ElfRegionType type
 type of region
 
bool dataFromPointer
 true if content from pointer, otherwise will be generated from class
 
Types::Word size
 region size More...
 
Types::Word align
 region alignment
 
union {
   const cxbyte *   data
 content from pointer
 
   const ElfRegionContent *   dataGen
 content generator pointer
 
}; 
 
struct {
   const char *   name
 section name
 
   uint32_t   type
 section type
 
   Types::SectionFlags   flags
 section flags
 
   uint32_t   link
 section link
 
   uint32_t   info
 section info
 
   Types::Word   addrBase
 section address base
 
   Types::Word   entSize
 entries size
 
   bool   zeroOffset
 
   Types::Word   align
 
section
 section structure
 

Detailed Description

template<typename Types>
struct CLRX::ElfRegionTemplate< Types >

template of ElfRegion

Constructor & Destructor Documentation

template<typename Types>
CLRX::ElfRegionTemplate< Types >::ElfRegionTemplate ( const BinSection binSection,
const uint16_t *  builtinSections,
cxuint  maxBuiltinSection,
cxuint  startExtraIndex 
)
inline

constructor for external section (BinSection)

Parameters
binSectionexternal section
builtinSectionsELF section indices for builtin sections
maxBuiltinSectionmaximal id of builtin section (as ELFSECTID_STD_MAX)
startExtraIndexfirst ELF section id for extra section

Member Data Documentation

template<typename Types>
Types::Word CLRX::ElfRegionTemplate< Types >::size

region size

if alignment of this region is zero and size doesn't to alignment of next region then size of this region will be fixed to alignment of next region


The documentation for this struct was generated from the following file: