X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdbserver%2Fnto-low.h;h=c3e7099e702c9f11a76e12489f89cd4070cca0f8;hb=345dafadc282bad205190f7174840a834d72ec71;hp=393b8a98695ca8f370cc5d8b33756ea71f58b7dd;hpb=919adfe8409211c726c1d05b47ca59890ee648f1;p=deliverable%2Fbinutils-gdb.git diff --git a/gdbserver/nto-low.h b/gdbserver/nto-low.h index 393b8a9869..c3e7099e70 100644 --- a/gdbserver/nto-low.h +++ b/gdbserver/nto-low.h @@ -42,6 +42,64 @@ struct nto_target_ops extern struct nto_target_ops the_low_target; +/* Target ops definitions for a QNX Neutrino target. */ + +class nto_process_target : public process_target +{ +public: + + int create_inferior (const char *program, + const std::vector &program_args) override; + + int attach (unsigned long pid) override; + + int kill (process_info *proc) override; + + int detach (process_info *proc) override; + + void mourn (process_info *proc) override; + + void join (int pid) override; + + bool thread_alive (ptid_t pid) override; + + void resume (thread_resume *resume_info, size_t n) override; + + ptid_t wait (ptid_t ptid, target_waitstatus *status, + int options) override; + + void fetch_registers (regcache *regcache, int regno) override; + + void store_registers (regcache *regcache, int regno) override; + + int read_memory (CORE_ADDR memaddr, unsigned char *myaddr, + int len) override; + + int write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, + int len) override; + + void request_interrupt () override; + + bool supports_read_auxv () override; + + int read_auxv (CORE_ADDR offset, unsigned char *myaddr, + unsigned int len) override; + + bool supports_z_point_type (char z_type) override; + + int insert_point (enum raw_bkpt_type type, CORE_ADDR addr, + int size, raw_breakpoint *bp) override; + + int remove_point (enum raw_bkpt_type type, CORE_ADDR addr, + int size, raw_breakpoint *bp) override; + + bool supports_hardware_single_step () override; + + bool stopped_by_watchpoint () override; + + CORE_ADDR stopped_data_address () override; +}; + /* The inferior's target description. This is a global because the LynxOS ports support neither bi-arch nor multi-process. */ extern const struct target_desc *nto_tdesc;