#include <SymtabReader.h>
Public Member Functions | |
| SymtabReader (std::string file_) | |
| SymtabReader (const char *buffer, unsigned long size) | |
| SymtabReader (Symtab *s) | |
| virtual | ~SymtabReader () |
| virtual Symbol_t | getSymbolByName (std::string symname) |
| virtual unsigned long | getSymbolSize (const Symbol_t &sym) |
| virtual Symbol_t | getContainingSymbol (Dyninst::Offset offset) |
| virtual std::string | getInterpreterName () |
| virtual unsigned | getAddressWidth () |
| virtual unsigned | numSegments () |
| virtual bool | getSegment (unsigned num, SymSegment &seg) |
| virtual Dyninst::Offset | getSymbolOffset (const Symbol_t &sym) |
| virtual Dyninst::Offset | getSymbolTOC (const Symbol_t &sym) |
| virtual std::string | getSymbolName (const Symbol_t &sym) |
| virtual std::string | getDemangledName (const Symbol_t &sym) |
| virtual bool | isValidSymbol (const Symbol_t &sym) |
| virtual Section_t | getSectionByName (std::string name) |
| virtual Section_t | getSectionByAddress (Dyninst::Address addr) |
| virtual Dyninst::Address | getSectionAddress (Section_t sec) |
| virtual std::string | getSectionName (Section_t sec) |
| virtual bool | isValidSection (Section_t sec) |
| virtual Dyninst::Offset | imageOffset () |
| virtual Dyninst::Offset | dataOffset () |
| virtual void * | getElfHandle () |
| virtual int | getFD () |
Protected Attributes | |
| Symtab * | symtab |
| int | ref_count |
| std::vector< SymSegment > | segments |
| bool | ownsSymtab |
Private Member Functions | |
| void | buildSegments () |
Friends | |
| class | SymtabReaderFactory |
Definition at line 62 of file SymtabReader.h.
| SymtabReader::SymtabReader | ( | std::string | file_ | ) |
Definition at line 47 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::openFile(), and symtab.
| SymtabReader::SymtabReader | ( | const char * | buffer, | |
| unsigned long | size | |||
| ) |
Definition at line 56 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::openFile(), and symtab.
| SymtabReader::SymtabReader | ( | Symtab * | s | ) |
Definition at line 67 of file SymtabReader.C.
| SymtabReader::~SymtabReader | ( | ) | [virtual] |
Definition at line 73 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::closeSymtab(), ownsSymtab, and symtab.
| void SymtabReader::buildSegments | ( | ) | [private] |
Definition at line 147 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::getSegmentsSymReader(), segments, and symtab.
Referenced by getSegment(), and numSegments().
| Dyninst::Offset SymtabReader::dataOffset | ( | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 200 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::dataOffset(), and symtab.
| unsigned SymtabReader::getAddressWidth | ( | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 126 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::getAddressWidth(), and symtab.
| Symbol_t SymtabReader::getContainingSymbol | ( | Dyninst::Offset | offset | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 99 of file SymtabReader.C.
References DEFN_SYMBOL_T, Dyninst::SymtabAPI::Symtab::getContainingFunction(), Dyninst::SymtabAPI::Aggregate::getFirstSymbol(), and symtab.
| std::string SymtabReader::getDemangledName | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 177 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symbol::getTypedName(), and Dyninst::Symbol_t::v2.
| void * SymtabReader::getElfHandle | ( | ) | [virtual] |
Reimplemented from Dyninst::SymReader.
Definition at line 245 of file SymtabReader.C.
References Dyninst::SymtabAPI::Object::getElfHandle(), Dyninst::SymtabAPI::Symtab::getObject(), and symtab.
| virtual int Dyninst::SymReader::getFD | ( | ) | [inline, virtual, inherited] |
Reimplemented in Dyninst::SymElf.
Definition at line 108 of file SymReader.h.
| std::string SymtabReader::getInterpreterName | ( | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 115 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::getInterpreterName(), and symtab.
| Dyninst::Address SymtabReader::getSectionAddress | ( | Section_t | sec | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 226 of file SymtabReader.C.
References Dyninst::SymtabAPI::Region::getMemOffset(), and Dyninst::Section_t::v1.
| Section_t SymtabReader::getSectionByAddress | ( | Dyninst::Address | addr | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 218 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::findEnclosingRegion(), symtab, and Dyninst::Section_t::v1.
| Section_t SymtabReader::getSectionByName | ( | std::string | name | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 205 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::findRegion(), symtab, and Dyninst::Section_t::v1.
| std::string SymtabReader::getSectionName | ( | Section_t | sec | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 233 of file SymtabReader.C.
References Dyninst::SymtabAPI::Region::getRegionName(), and Dyninst::Section_t::v1.
| bool SymtabReader::getSegment | ( | unsigned | num, | |
| SymSegment & | seg | |||
| ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 138 of file SymtabReader.C.
References buildSegments(), and segments.
| Symbol_t SymtabReader::getSymbolByName | ( | std::string | symname | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 83 of file SymtabReader.C.
References DEFN_SYMBOL_T, Dyninst::SymtabAPI::Symtab::findSymbol(), and symtab.
| std::string SymtabReader::getSymbolName | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 170 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symbol::getMangledName(), and Dyninst::Symbol_t::v2.
| Dyninst::Offset SymtabReader::getSymbolOffset | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 156 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symbol::getOffset(), and Dyninst::Symbol_t::v2.
| unsigned long SymtabReader::getSymbolSize | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 183 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symbol::getSize(), and Dyninst::Symbol_t::v2.
| Dyninst::Offset SymtabReader::getSymbolTOC | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 163 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symbol::getOffset(), Dyninst::SymtabAPI::Symbol::getSymtab(), Dyninst::SymtabAPI::Symtab::getTOCoffset(), and Dyninst::Symbol_t::v2.
| Dyninst::Offset SymtabReader::imageOffset | ( | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 195 of file SymtabReader.C.
References Dyninst::SymtabAPI::Symtab::imageOffset(), and symtab.
| bool SymtabReader::isValidSection | ( | Section_t | sec | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 240 of file SymtabReader.C.
References Dyninst::Section_t::v1.
| bool SymtabReader::isValidSymbol | ( | const Symbol_t & | sym | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 190 of file SymtabReader.C.
References Dyninst::Symbol_t::v1, and Dyninst::Symbol_t::v2.
| unsigned SymtabReader::numSegments | ( | ) | [virtual] |
Implements Dyninst::SymReader.
Definition at line 132 of file SymtabReader.C.
References buildSegments(), and segments.
friend class SymtabReaderFactory [friend] |
Definition at line 63 of file SymtabReader.h.
bool Dyninst::SymtabAPI::SymtabReader::ownsSymtab [protected] |
Definition at line 68 of file SymtabReader.h.
Referenced by ~SymtabReader().
int Dyninst::SymtabAPI::SymtabReader::ref_count [protected] |
Definition at line 66 of file SymtabReader.h.
Referenced by Dyninst::SymtabAPI::SymtabReaderFactory::closeSymbolReader(), and Dyninst::SymtabAPI::SymtabReaderFactory::openSymbolReader().
std::vector<SymSegment> Dyninst::SymtabAPI::SymtabReader::segments [protected] |
Definition at line 67 of file SymtabReader.h.
Referenced by buildSegments(), getSegment(), and numSegments().
Symtab* Dyninst::SymtabAPI::SymtabReader::symtab [protected] |
Definition at line 65 of file SymtabReader.h.
Referenced by buildSegments(), dataOffset(), getAddressWidth(), getContainingSymbol(), getElfHandle(), getInterpreterName(), getSectionByAddress(), getSectionByName(), getSymbolByName(), imageOffset(), SymtabReader(), and ~SymtabReader().
1.6.1