update to ida 7.6, add builds
This commit is contained in:
30
idasdk76/dbg/linux/symelf.hpp
Normal file
30
idasdk76/dbg/linux/symelf.hpp
Normal file
@@ -0,0 +1,30 @@
|
||||
// read symbols from an elf file
|
||||
#ifndef __SYMELF__
|
||||
#define __SYMELF__
|
||||
|
||||
struct symbol_visitor_t
|
||||
{
|
||||
symbol_visitor_t(int visit_flags) : velf(visit_flags) {}
|
||||
|
||||
int velf;
|
||||
#define VISIT_SYMBOLS 0x0001
|
||||
#define VISIT_INTERP 0x0002
|
||||
#define VISIT_DYNINFO 0x0004
|
||||
#define VISIT_SEGMENTS 0x0008
|
||||
#define VISIT_BUILDID 0x0010
|
||||
#define VISIT_DBGLINK 0x0020
|
||||
|
||||
// any callback returns nonzero - stop enumeration
|
||||
virtual int visit_symbol(ea_t /*ea*/, const char * /*name*/) { return 0; }
|
||||
virtual int visit_interp(const char * /*name*/) { return 0; }
|
||||
virtual int visit_segment(ea_t /*start*/, size_t /*size*/, const char * /*name*/) { return 0; }
|
||||
virtual int visit_dyninfo(uint64 /*tag*/, const char * /*name*/, uint64 /*value*/) { return 0; }
|
||||
virtual int visit_buildid(const char * /*Build ID*/) { return 0; }
|
||||
virtual int visit_debuglink(const char * /*debug*/, uint32 /*crc*/) { return 0; }
|
||||
};
|
||||
|
||||
// returns -1 on errors
|
||||
// otherwise returns the non-zero code returned by the visitor or 0
|
||||
int load_elf_symbols(const char *fname, symbol_visitor_t &sv, bool remote=false);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user