From: Pedro Alves Date: Mon, 2 Sep 2013 14:14:58 +0000 (+0000) Subject: server.c:gdb_read_memory: Fix error return. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a13b2fa01990ef21856bba455fdd39d5d81eb5f;p=binutils-gdb.git server.c:gdb_read_memory: Fix error return. 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 Like 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 * server.c (gdb_read_memory): Return -1 on traceframe memory read error instead of EIO. --- diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 913fe42c45f..1e15f77c4c1 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2013-09-02 Pedro Alves + + * server.c (gdb_read_memory): Return -1 on traceframe memory read + error instead of EIO. + 2013-08-28 Jan Kratochvil PR server/15604 diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index ebdaba50467..d450779aa1e 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;