aboutsummaryrefslogtreecommitdiff
path: root/gprofng/src/Stabs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gprofng/src/Stabs.h')
-rw-r--r--gprofng/src/Stabs.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/gprofng/src/Stabs.h b/gprofng/src/Stabs.h
index 42aa6fb..c8da278 100644
--- a/gprofng/src/Stabs.h
+++ b/gprofng/src/Stabs.h
@@ -40,7 +40,6 @@ class ComC;
class Elf;
class Dwarf;
class Symbol;
-class Reloc;
struct cpf_stabs_t;
class SourceFile;
template <typename Key_t, typename Value_t> class Map;
@@ -86,12 +85,12 @@ class Stabs {
Platform_t get_platform() { return platform; }
WSize_t get_class() { return wsize;}
Stab_status get_status() { return status;}
+ Vector<Symbol *> *get_symbols() { return SymLst; }
Stab_status read_stabs(ino64_t srcInode, Module *module, Vector<ComC*> *comComs, bool readDwarf = false);
Stab_status read_archive(LoadObject *lo);
bool read_symbols(Vector<Function*> *functions);
uint64_t mapOffsetToAddress(uint64_t img_offset);
- char *sym_name(uint64_t target, uint64_t instr, int flag);
Elf *openElf (bool dbg_info = false);
void read_hwcprof_info(Module *module);
void dump();
@@ -129,15 +128,12 @@ class Stabs {
// Interface with Elf Symbol Table
void check_Symtab();
- void readSymSec(unsigned int sec, Elf *elf);
- void check_Relocs();
+ void readSymSec (Elf *elf, bool is_dynamic);
void get_save_addr(bool need_swap_endian);
Symbol *map_PC_to_sym(uint64_t pc);
Symbol *pltSym;
Vector<Symbol*> *SymLst; // list of func symbols
Vector<Symbol*> *SymLstByName; // list of func symbols sorted by Name
- Vector<Reloc*> *RelLst; // list of text relocations
- Vector<Reloc*> *RelPLTLst; // list of PLT relocations
Vector<Symbol*> *LocalLst; // list of local func symbols
Vector<char*> *LocalFile; // list of local files
Vector<int> *LocalFileIdx; // start index in LocalLst
@@ -146,9 +142,10 @@ class Stabs {
Map<const char*, Symbol*> *get_elf_symbols();
Dwarf *dwarf;
- bool st_check_symtab, st_check_relocs;
+ bool st_check_symtab;
Function *createFunction(LoadObject *lo, Module *module, Symbol *sym);
void fixSymtabAlias();
+ void removeDupSyms ();
// Interface with dwarf
Dwarf *openDwarf();