This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 54f3f8e4c1477bec077e132cdccd8097938332e2 (commit)
from 00635e28ba5c405742cae261d8551f165dc78ba3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 54f3f8e4c1477bec077e132cdccd8097938332e2
Author: Ãyvind Harboe <oyv...@zy...>
Date: Mon Jun 7 15:14:04 2010 +0200
gdb-server: fix error reporting bugs
GDB and OpenOCD has two different error number
spaces and no mapping exists between them.
If a specific error number is to be reported
to GDB then this has to be done at the calling
site, rather than as a generic routine that
tries to map "retval" to GDB error number speak.
Signed-off-by: Ãyvind Harboe <oyv...@zy...>
diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index a84c618..029bdf8 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -1219,29 +1219,14 @@ static int gdb_set_register_packet(struct connection *connection,
return ERROR_OK;
}
+/* No attempt is made to translate the "retval" to
+ * GDB speak. This has to be done at the calling
+ * site as no mapping really exists.
+ */
static int gdb_error(struct connection *connection, int retval)
{
- switch (retval)
- {
- case ERROR_TARGET_DATA_ABORT:
- gdb_send_error(connection, EIO);
- break;
- case ERROR_TARGET_TRANSLATION_FAULT:
- gdb_send_error(connection, EFAULT);
- break;
- case ERROR_TARGET_UNALIGNED_ACCESS:
- gdb_send_error(connection, EFAULT);
- break;
- case ERROR_TARGET_NOT_HALTED:
- gdb_send_error(connection, EFAULT);
- break;
- default:
- /* This could be that the target reset itself. */
- LOG_ERROR("unexpected error %i", retval);
- gdb_send_error(connection, EFAULT);
- break;
- }
-
+ LOG_DEBUG("Reporting %i to GDB as generic error", retval);
+ gdb_send_error(connection, EFAULT);
return ERROR_OK;
}
@@ -1719,7 +1704,7 @@ static int gdb_memory_map(struct connection *connection,
if (retval != ERROR_OK)
{
free(banks);
- gdb_send_error(connection, retval);
+ gdb_error(connection, retval);
return retval;
}
banks[i] = p;
@@ -1801,7 +1786,7 @@ static int gdb_memory_map(struct connection *connection,
xml_printf(&retval, &xml, &pos, &size, "</memory-map>\n");
if (retval != ERROR_OK) {
- gdb_send_error(connection, retval);
+ gdb_error(connection, retval);
return retval;
}
@@ -1952,7 +1937,7 @@ static int gdb_query_packet(struct connection *connection,
if (retval != ERROR_OK)
{
- gdb_send_error(connection, retval);
+ gdb_error(connection, retval);
return retval;
}
-----------------------------------------------------------------------
Summary of changes:
src/server/gdb_server.c | 33 +++++++++------------------------
1 files changed, 9 insertions(+), 24 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|