diff options
Diffstat (limited to 'overlay/mgdb/gdb')
-rw-r--r-- | overlay/mgdb/gdb/winnt-nat.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/overlay/mgdb/gdb/winnt-nat.c b/overlay/mgdb/gdb/winnt-nat.c index b6c45bf..154aa43 100644 --- a/overlay/mgdb/gdb/winnt-nat.c +++ b/overlay/mgdb/gdb/winnt-nat.c @@ -117,6 +117,34 @@ static char * winnt_pid_to_exec_file (struct target_ops * t, int pid) return outbuf; } +static enum target_xfer_status winnt_xfer_partial( + struct target_ops * t, + enum target_object object, + const char * annex, + gdb_byte * readbuf, + const gdb_byte * writebuf, + ULONGEST offset, + ULONGEST len, + ULONGEST * nxfered) +{ + (void)t; + (void)object; + (void)annex; + (void)offset; + (void)len; + + if (readbuf && writebuf) + winnt_error("internal error: both readbuf and writebuf are non-null."); + + if (!readbuf && !writebuf) + winnt_error("internal error: both readbuf and writebuf are null."); + + if (!nxfered) + winnt_error("internal error: nxfered is null."); + + return TARGET_XFER_E_IO; +} + static nfds_t winnt_poll_one_init (struct pollfd * pfds, pid_t pid) { winnt_process * pdbg; @@ -473,6 +501,8 @@ static target_ops * winnt_target_alloc (void) t->to_pid_to_str = winnt_pid_to_str; t->to_pid_to_exec_file = winnt_pid_to_exec_file; + t->to_xfer_partial = winnt_xfer_partial; + x86_use_watchpoints(t); return ((outbuf = (char *)calloc(1,WINNT_OUTBUF_SIZE))) |