7 #ifndef OTAWA_LOADER_NEW_GLISS_PROCESS_H
8 #define OTAWA_LOADER_NEW_GLISS_PROCESS_H
12 struct gel_line_map_t;
13 struct gel_file_info_t;
17 namespace loader {
namespace new_gliss {
32 virtual void get(
Address at,
signed char& val);
33 virtual void get(
Address at,
unsigned char& val);
34 virtual void get(
Address at,
signed short& val);
35 virtual void get(
Address at,
unsigned short& val);
36 virtual void get(
Address at,
signed long& val);
37 virtual void get(
Address at,
unsigned long& val);
38 virtual void get(
Address at,
signed long long& val);
39 virtual void get(
Address at,
unsigned long long& val);
41 virtual void get(
Address at,
string& str);
52 virtual
void *
gelFile(
void) = 0;
53 virtual
void *
memory(
void) = 0;
65 struct gel_line_map_t *
map;
66 struct gel_file_info_t *file;
71 #endif // OTAWA_LOADER_NEW_GLISS_PROCESS_H
Inst * _start
Definition: Process.h:57
void * _state
Definition: Process.h:59
bool init
Definition: Process.h:64
virtual void getAddresses(cstring file, int line, Vector< Pair< Address, Address > > &addresses)
Get the list of addresses implementing the given (source, line) pair.
Manager * manager(void)
Get the manager owning this process.
Definition: Process.h:143
static const PropList EMPTY
This is an empty proplist for convenience.
Definition: PropList.h:66
struct gel_file_info_t * file
Definition: Process.h:66
virtual void * gelFile(void)=0
hard::Platform * _platform
Definition: Process.h:58
The manager class providesfacilities for storing, grouping and retrieving shared resources like loade...
Definition: Manager.h:58
In usual file format like ELF, COFF and so on, the program file is divided in segment according platf...
Definition: Segment.h:40
virtual hard::Platform * platform(void)
Get the platform of the process.
This class represents a file involved in the building of a process.
Definition: File.h:43
elm::StringBuffer buf
Definition: util_fft_lexer.cc:640
struct gel_line_map_t * map
Definition: Process.h:65
virtual Option< Pair< cstring, int > > getSourceLine(Address addr)
Get the source file and the line matching the given address.
A process is the realization of a program on a platform.
Definition: Process.h:136
The representation of an address in OTAWA.
Definition: base.h:54
virtual Inst * decode(address_t addr)=0
int argc
Definition: Process.h:61
virtual Inst * start(void)
Get the address of the first instruction of the program.
virtual File * loadFile(elm::CString path)
Load an existing file.
Process(Manager *manager, hard::Platform *platform, const PropList &props=PropList::EMPTY)
char ** argv
Definition: Process.h:62
This a list of properties.
Definition: PropList.h:63
virtual void * memory(void)=0
void * state(void) const
Definition: Process.h:26
This class is used to throw an exception when a process does not support an invoked feature...
Definition: Process.h:75
bool no_stack
Definition: Process.h:63
char ** envp
Definition: Process.h:62
void * _memory
Definition: Process.h:60