#include <algorithm>
#include "Symtab.h"
#include "emitElf.h"
#include "emitElfStatic.h"
#include "debug.h"
#include "common/h/pathName.h"
Go to the source code of this file.
Data Structures | |
struct | sortByIndex |
struct | Elf_Data64 |
Functions | |
void | symtab_log_perror (const char *msg) |
const char * | pdelf_get_shnames (Elf_X *elf) |
void | setSymtabError (SymtabError new_err) |
static void | setVersion () |
unsigned int | elfHash (const char *name) |
static int | elfSymType (Symbol *sym) |
static int | elfSymBind (Symbol::SymbolLinkage sLinkage) |
static int | elfSymVisibility (Symbol::SymbolVisibility sVisibility) |
Variables | |
const char * | STRTAB_NAME |
const char * | SYMTAB_NAME |
const char * | INTERP_NAME |
static bool | libelfso0Flag |
static bool | libelfso1Flag |
static int | libelfso1version_major |
static int | libelfso1version_minor |
static int elfSymBind | ( | Symbol::SymbolLinkage | sLinkage | ) | [static] |
Definition at line 176 of file emitElf.C.
References Dyninst::SymtabAPI::Symbol::SL_GLOBAL, Dyninst::SymtabAPI::Symbol::SL_LOCAL, and Dyninst::SymtabAPI::Symbol::SL_WEAK.
Referenced by Dyninst::SymtabAPI::emitElf::createElfSymbol().
static int elfSymType | ( | Symbol * | sym | ) | [static] |
Definition at line 161 of file emitElf.C.
References Dyninst::SymtabAPI::Symbol::getInternalType(), Dyninst::SymtabAPI::Symbol::getType(), Dyninst::SymtabAPI::Symbol::ST_FUNCTION, Dyninst::SymtabAPI::Symbol::ST_INDIRECT, Dyninst::SymtabAPI::Symbol::ST_MODULE, Dyninst::SymtabAPI::Symbol::ST_NOTYPE, Dyninst::SymtabAPI::Symbol::ST_OBJECT, Dyninst::SymtabAPI::Symbol::ST_SECTION, Dyninst::SymtabAPI::Symbol::ST_TLS, and Dyninst::SymtabAPI::Symbol::ST_UNKNOWN.
Referenced by Dyninst::SymtabAPI::emitElf::createElfSymbol().
static int elfSymVisibility | ( | Symbol::SymbolVisibility | sVisibility | ) | [static] |
Definition at line 186 of file emitElf.C.
References Dyninst::SymtabAPI::Symbol::SV_DEFAULT, Dyninst::SymtabAPI::Symbol::SV_HIDDEN, Dyninst::SymtabAPI::Symbol::SV_INTERNAL, and Dyninst::SymtabAPI::Symbol::SV_PROTECTED.
Referenced by Dyninst::SymtabAPI::emitElf::createElfSymbol().
const char* pdelf_get_shnames | ( | Elf_X * | elf | ) |
Definition at line 128 of file Object-elf.C.
References Dyninst::Elf_X::e_shstrndx(), Dyninst::Elf_X_Shdr::get_data(), Dyninst::Elf_X::get_shdr(), Dyninst::Elf_X_Data::get_string(), Dyninst::Elf_X_Data::isValid(), and Dyninst::Elf_X_Shdr::isValid().
void setSymtabError | ( | SymtabError | new_err | ) |
static void setVersion | ( | ) | [static] |
Definition at line 91 of file emitElf.C.
References fprintf, getVMMaps, libelfso0Flag, libelfso1Flag, libelfso1version_major, libelfso1version_minor, and resolve_file_path().
Referenced by Dyninst::SymtabAPI::emitElf::emitElf().
void symtab_log_perror | ( | const char * | msg | ) |
const char* INTERP_NAME |
Definition at line 311 of file Object-elf.C.
bool libelfso0Flag [static] |
Definition at line 86 of file emitElf.C.
Referenced by Dyninst::SymtabAPI::emitElf::addSectionHeaderTable(), Dyninst::SymtabAPI::emitElf::createLoadableSections(), Dyninst::SymtabAPI::emitElf::createNonLoadableSections(), and setVersion().
bool libelfso1Flag [static] |
Definition at line 87 of file emitElf.C.
Referenced by Dyninst::SymtabAPI::emitElf::hasPHdrSectionBug(), and setVersion().
int libelfso1version_major [static] |
Definition at line 88 of file emitElf.C.
Referenced by Dyninst::SymtabAPI::emitElf::hasPHdrSectionBug(), and setVersion().
int libelfso1version_minor [static] |
Definition at line 89 of file emitElf.C.
Referenced by Dyninst::SymtabAPI::emitElf::hasPHdrSectionBug(), and setVersion().
const char* STRTAB_NAME |
Definition at line 316 of file Object-elf.C.
const char* SYMTAB_NAME |
Definition at line 315 of file Object-elf.C.