#include <SystemTap.h>
Data Structures | |
| struct | Arg |
| struct | Entry |
Public Types | |
| typedef std::map< std::string, const Entry * > | entry_list_t |
Public Member Functions | |
| const entry_list_t & | entryList () |
Static Public Member Functions | |
| static SystemTapEntries * | createSystemTapEntries (Elf_X *file_) |
Private Member Functions | |
| SystemTapEntries (Elf_X *file_) | |
| ~SystemTapEntries () | |
| bool | readAddr (const unsigned char *buffer, size_t size, unsigned &offset, Dyninst::Address &result, unsigned int read_size=0) |
| bool | readString (const unsigned char *buffer, size_t bsize, unsigned &offset, std::string &result) |
| bool | parse () |
| bool | parseAllNotes () |
| bool | parseNotes (const void *notes, size_t size) |
| bool | parseOperands (std::string ops, Entry &entry) |
| bool | parseOperand_x86 (std::string op, Arg &result) |
| bool | parseOperand_ppc (std::string op, Arg &result) |
Private Attributes | |
| Elf_X * | file |
| Dyninst::Architecture | arch |
| unsigned int | word_size |
| entry_list_t | name_to_entry |
Static Private Attributes | |
| static x86OperandParser * | x86_parser = NULL |
| static x86OperandParser * | x86_64_parser = NULL |
| static ppcOperandParser * | ppc32_parser = NULL |
| static ppcOperandParser * | ppc64_parser = NULL |
| static std::map< Elf_X *, SystemTapEntries * > | all_entries |
Definition at line 46 of file SystemTap.h.
| typedef std::map<std::string, const Entry *> Dyninst::SystemTapEntries::entry_list_t |
Definition at line 64 of file SystemTap.h.
| SystemTapEntries::SystemTapEntries | ( | Elf_X * | file_ | ) | [private] |
Definition at line 84 of file SystemTap.C.
| SystemTapEntries::~SystemTapEntries | ( | ) | [private] |
Definition at line 89 of file SystemTap.C.
| SystemTapEntries * SystemTapEntries::createSystemTapEntries | ( | Elf_X * | file_ | ) | [static] |
Definition at line 67 of file SystemTap.C.
References all_entries.
| const entry_list_t& Dyninst::SystemTapEntries::entryList | ( | ) | [inline] |
Definition at line 66 of file SystemTap.h.
References name_to_entry.
| bool SystemTapEntries::parse | ( | ) | [private] |
Definition at line 93 of file SystemTap.C.
References arch, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, Dyninst::Elf_X::e_machine(), file, Dyninst::getArchAddressWidth(), parseAllNotes(), and word_size.
| bool SystemTapEntries::parseAllNotes | ( | ) | [private] |
Definition at line 113 of file SystemTap.C.
References Dyninst::Elf_X_Data::d_buf(), Dyninst::Elf_X::e_shnum(), file, Dyninst::Elf_X_Shdr::get_data(), Dyninst::Elf_X::get_shdr(), Dyninst::Elf_X_Shdr::isValid(), parseNotes(), Dyninst::Elf_X_Shdr::sh_size(), and Dyninst::Elf_X_Shdr::sh_type().
Referenced by parse().
| bool SystemTapEntries::parseNotes | ( | const void * | notes, | |
| size_t | size | |||
| ) | [private] |
Definition at line 137 of file SystemTap.C.
References Dyninst::SystemTapEntries::Entry::addr, Dyninst::SystemTapEntries::Entry::base_addr, name_to_entry, parseOperands(), Dyninst::SystemTapEntries::Entry::provider, readAddr(), readString(), SDT_NOTE_NAME, SDT_NOTE_TYPE, and Dyninst::SystemTapEntries::Entry::semaphore_addr.
Referenced by parseAllNotes().
| bool SystemTapEntries::parseOperand_ppc | ( | std::string | op, | |
| Arg & | result | |||
| ) | [private] |
Definition at line 326 of file SystemTap.C.
References arch, Dyninst::Arch_ppc32, ppc32_parser, ppc64_parser, and Dyninst::SystemTapEntries::Arg::tree.
Referenced by parseOperands().
| bool SystemTapEntries::parseOperand_x86 | ( | std::string | op, | |
| Arg & | result | |||
| ) | [private] |
Definition at line 309 of file SystemTap.C.
References arch, Dyninst::Arch_x86, Dyninst::SystemTapEntries::Arg::tree, x86_64_parser, and x86_parser.
Referenced by parseOperands().
| bool SystemTapEntries::parseOperands | ( | std::string | ops, | |
| Entry & | entry | |||
| ) | [private] |
Definition at line 255 of file SystemTap.C.
References abs(), arch, Dyninst::Arch_ppc32, Dyninst::Arch_ppc64, Dyninst::Arch_x86, Dyninst::Arch_x86_64, Dyninst::SystemTapEntries::Arg::arg_size, Dyninst::SystemTapEntries::Entry::args, Dyninst::SystemTapEntries::Arg::is_arg_signed, parseOperand_ppc(), and parseOperand_x86().
Referenced by parseNotes().
| bool SystemTapEntries::readAddr | ( | const unsigned char * | buffer, | |
| size_t | size, | |||
| unsigned & | offset, | |||
| Dyninst::Address & | result, | |||
| unsigned int | read_size = 0 | |||
| ) | [private] |
| bool SystemTapEntries::readString | ( | const unsigned char * | buffer, | |
| size_t | bsize, | |||
| unsigned & | offset, | |||
| std::string & | result | |||
| ) | [private] |
Definition at line 240 of file SystemTap.C.
Referenced by parseNotes().
map< Elf_X *, SystemTapEntries * > SystemTapEntries::all_entries [static, private] |
Definition at line 76 of file SystemTap.h.
Referenced by createSystemTapEntries().
Definition at line 78 of file SystemTap.h.
Referenced by parse(), parseOperand_ppc(), parseOperand_x86(), and parseOperands().
Elf_X* Dyninst::SystemTapEntries::file [private] |
Definition at line 77 of file SystemTap.h.
Referenced by parse(), and parseAllNotes().
Definition at line 93 of file SystemTap.h.
Referenced by entryList(), and parseNotes().
ppcOperandParser * SystemTapEntries::ppc32_parser = NULL [static, private] |
Definition at line 74 of file SystemTap.h.
Referenced by parseOperand_ppc().
ppcOperandParser * SystemTapEntries::ppc64_parser = NULL [static, private] |
Definition at line 75 of file SystemTap.h.
Referenced by parseOperand_ppc().
unsigned int Dyninst::SystemTapEntries::word_size [private] |
Definition at line 79 of file SystemTap.h.
Referenced by parse(), and readAddr().
x86OperandParser * SystemTapEntries::x86_64_parser = NULL [static, private] |
Definition at line 73 of file SystemTap.h.
Referenced by parseOperand_x86().
x86OperandParser * SystemTapEntries::x86_parser = NULL [static, private] |
Definition at line 72 of file SystemTap.h.
Referenced by parseOperand_x86().
1.6.1