diff options
Diffstat (limited to 'gdb/gdbserver/hostio.c')
-rw-r--r-- | gdb/gdbserver/hostio.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/gdbserver/hostio.c b/gdb/gdbserver/hostio.c index f646e85..757a229 100644 --- a/gdb/gdbserver/hostio.c +++ b/gdb/gdbserver/hostio.c @@ -377,7 +377,13 @@ handle_pread (char *own_buf, int *new_packet_len) } data = malloc (len); +#ifdef HAVE_PREAD ret = pread (fd, data, len, offset); +#else + ret = lseek (fd, offset, SEEK_SET); + if (ret != -1) + ret = read (fd, data, len); +#endif if (ret == -1) { @@ -419,7 +425,13 @@ handle_pwrite (char *own_buf, int packet_len) return; } +#ifdef HAVE_PWRITE ret = pwrite (fd, data, len, offset); +#else + ret = lseek (fd, offset, SEEK_SET); + if (ret != -1) + ret = write (fd, data, len); +#endif if (ret == -1) { |