summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gdb/gdbserver/ChangeLog4
-rw-r--r--gdb/gdbserver/server.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index e623ae7bb6..3a53f86115 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,7 @@
+2006-11-06 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * server.c (handle_query): Correct error handling for read_auxv.
+
2005-10-19 Ulrich Weigand <uweigand@de.ibm.com>
* configure.srv [s390-*-linux*, s390x-*-linux*]: Set srv_linux_regsets
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 86cb1b6da8..5f78736105 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -232,7 +232,9 @@ handle_query (char *own_buf, int *new_packet_len_p)
len = PBUFSIZ - 2;
data = malloc (len + 1);
n = (*the_target->read_auxv) (ofs, data, len + 1);
- if (n > len)
+ if (n < 0)
+ write_enn (own_buf);
+ else if (n > len)
*new_packet_len_p = write_qxfer_response (own_buf, data, len, 1);
else
*new_packet_len_p = write_qxfer_response (own_buf, data, n, 0);
OpenPOWER on IntegriCloud