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  <palves@redhat.com>
	* server.c (gdb_read_memory): Return -1 on traceframe memory read
	error instead of EIO.
+2013-09-02  Pedro Alves  <palves@redhat.com>
+
+       * server.c (gdb_read_memory): Return -1 on traceframe memory read
+       error instead of EIO.
+
 2013-08-28  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        PR server/15604
 
 
       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;