CLRX
1
An unofficial OpenCL extensions designed for Radeon GPUs
|
Elf binaries handling. More...
#include <CLRX/Config.h>
#include <cstddef>
#include <cstdint>
#include <climits>
#include <string>
#include <utility>
#include <ostream>
#include <CLRX/amdbin/Elf.h>
#include <CLRX/utils/MemAccess.h>
#include <CLRX/utils/Utilities.h>
#include <CLRX/utils/Containers.h>
#include <CLRX/utils/InputOutput.h>
Go to the source code of this file.
Classes | |
struct | CLRX::Elf32Types |
ELF 32-bit types. More... | |
struct | CLRX::Elf64Types |
ELF 32-bit types. More... | |
class | CLRX::ElfBinaryTemplate< Types > |
ELF binary class. More... | |
class | CLRX::ElfRegionContent |
elf region content generator for elf region More... | |
struct | CLRX::ElfHeaderTemplate< Types > |
elf header template More... | |
struct | CLRX::BinSection |
section structure to external usage (for example in the binary generator input) More... | |
struct | CLRX::BinSymbol |
symbol structure to external usage (fo example in the binary generator input) More... | |
struct | CLRX::ElfRegionTemplate< Types > |
template of ElfRegion More... | |
struct | CLRX::ElfNote |
ELF note structure. More... | |
struct | CLRX::ElfProgramHeaderTemplate< Types > |
template of ELF program header More... | |
struct | CLRX::ElfSymbolTemplate< Types > |
ELF symbol template. More... | |
class | CLRX::ElfBinaryGenTemplate< Types > |
ELF binary generator. More... | |
Namespaces | |
CLRX | |
main namespace | |
Typedefs | |
typedef class ElfBinaryTemplate< Elf32Types > | CLRX::ElfBinary32 |
type for 32-bit ELF binary | |
typedef class ElfBinaryTemplate< Elf64Types > | CLRX::ElfBinary64 |
type for 64-bit ELF binary | |
typedef ElfHeaderTemplate< Elf32Types > | CLRX::ElfHeader32 |
32-bit elf header | |
typedef ElfHeaderTemplate< Elf64Types > | CLRX::ElfHeader64 |
64-bit elf header | |
typedef ElfRegionTemplate< Elf32Types > | CLRX::ElfRegion32 |
32-bit region (for 32-bit elf) | |
typedef ElfRegionTemplate< Elf64Types > | CLRX::ElfRegion64 |
64-bit region (for 64-bit elf) | |
typedef ElfProgramHeaderTemplate< Elf32Types > | CLRX::ElfProgramHeader32 |
32-bit elf program header | |
typedef ElfProgramHeaderTemplate< Elf64Types > | CLRX::ElfProgramHeader64 |
64-bit elf program header | |
typedef ElfSymbolTemplate< Elf32Types > | CLRX::ElfSymbol32 |
32-bit elf symbol | |
typedef ElfSymbolTemplate< Elf64Types > | CLRX::ElfSymbol64 |
64-bit elf symbol | |
typedef class ElfBinaryGenTemplate< Elf32Types > | CLRX::ElfBinaryGen32 |
type for 32-bit ELF binary generator | |
typedef class ElfBinaryGenTemplate< Elf64Types > | CLRX::ElfBinaryGen64 |
type for 64-bit ELF binary generator | |
Enumerations | |
enum | : cxuint { CLRX::BINGEN_DEFAULT = UINT_MAX, CLRX::BINGEN_NOTSUPPLIED = UINT_MAX-1 } |
enum | : uint64_t { CLRX::BINGEN64_DEFAULT = UINT64_MAX, CLRX::BINGEN64_NOTSUPPLIED = UINT64_MAX-1 } |
enum | : uint16_t { CLRX::BINGEN16_DEFAULT = UINT16_MAX, CLRX::BINGEN16_NOTSUPPLIED = UINT16_MAX-1 } |
enum | : uint8_t { CLRX::BINGEN8_DEFAULT = UINT8_MAX, CLRX::BINGEN8_NOTSUPPLIED = UINT8_MAX-1 } |
enum | : Flags { CLRX::ELF_CREATE_SECTIONMAP = 1, CLRX::ELF_CREATE_SYMBOLMAP = 2, CLRX::ELF_CREATE_DYNSYMMAP = 4, CLRX::ELF_CREATE_ALL = 0xf } |
enum | CLRX::ElfRegionType : cxbyte { CLRX::ElfRegionType::PHDR_TABLE, CLRX::ElfRegionType::SHDR_TABLE, CLRX::ElfRegionType::SECTION, CLRX::ElfRegionType::USER } |
type of Elf region More... | |
enum | : cxuint { ELFSECTID_START = UINT_MAX-255, ELFSECTID_SHSTRTAB = ELFSECTID_START, ELFSECTID_STRTAB, ELFSECTID_SYMTAB, ELFSECTID_DYNSTR, ELFSECTID_DYNSYM, ELFSECTID_TEXT, ELFSECTID_RODATA, ELFSECTID_DATA, ELFSECTID_BSS, ELFSECTID_COMMENT, ELFSECTID_STD_MAX = ELFSECTID_COMMENT, ELFSECTID_OTHER_BUILTIN = ELFSECTID_STD_MAX+1, ELFSECTID_NULL = UINT_MAX-2, ELFSECTID_ABS = UINT_MAX-1, ELFSECTID_UNDEF = UINT_MAX } |
enum | : cxuint { PHREGION_FILESTART = UINT_MAX } |
Functions | |
bool | CLRX::isElfBinary (size_t binarySize, const cxbyte *binary) |
check whether binary data is is ELF binary | |
uint16_t | CLRX::convertSectionId (cxuint sectionIndex, const uint16_t *builtinSections, cxuint maxBuiltinSection, cxuint extraSectionIndex) |
convert section id to elf section id | |
Elf binaries handling.