This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[COMMIT PATCH] server.c:gdb_read_memory: Fix error return.
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 02 Sep 2013 15:16:20 +0100
- Subject: [COMMIT PATCH] server.c:gdb_read_memory: Fix error return.
- Authentication-results: sourceware.org; auth=none
When I added gdb_read_memory, with bits factored out from elsewhere, I
missed adjusting this error return. gdb_read_memory has an interface
similar to GDB's xfer_partial:
> /* Read trace frame or inferior memory. Returns the number of bytes
> actually read, zero when no further transfer is possible, and -1 on
> error. Return of a positive value smaller than LEN does not
> indicate there's no more to be read, only the end of the transfer.
Returning EIO, a positive value, is obviously bogus, for the caller
will confuse it with a successful partial transfer.
Found by inspection.
Tested on x86_64 Fedora 17.
gdb/gdbserver/
2013-09-02 Pedro Alves <palves@redhat.com>
* server.c (gdb_read_memory): Return -1 on traceframe memory read
error instead of EIO.
---
gdb/gdbserver/server.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index ebdaba5..d450779 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -716,7 +716,7 @@ gdb_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
if (traceframe_read_mem (current_traceframe,
memaddr, myaddr, len, &nbytes))
- return EIO;
+ return -1;
/* Data read from trace buffer, we're done. */
if (nbytes > 0)
return nbytes;