Report halts to gdb as being caused by SIGTRAP.

Reporting a signal number of 0 causes strange behaviour from gdb when
restarting from a breakpoint.
This commit is contained in:
Daniel Beer 2010-07-27 16:54:08 +12:00
parent 383013b37e
commit 31cfaf213b
1 changed files with 2 additions and 2 deletions

4
gdb.c
View File

@ -373,7 +373,7 @@ static int run_final_status(struct gdb_data *data)
return gdb_send(data, "E00"); return gdb_send(data, "E00");
gdb_packet_start(data); gdb_packet_start(data);
gdb_printf(data, "T00"); gdb_printf(data, "T05");
for (i = 0; i < 16; i++) for (i = 0; i < 16; i++)
gdb_printf(data, "%02x:%02x%02x;", i, gdb_printf(data, "%02x:%02x%02x;", i,
regs[i] & 0xff, regs[i] >> 8); regs[i] & 0xff, regs[i] >> 8);
@ -489,7 +489,7 @@ static int process_gdb_command(struct gdb_data *data, char *buf, int len)
{ {
switch (buf[0]) { switch (buf[0]) {
case '?': /* Return target halt reason */ case '?': /* Return target halt reason */
return gdb_send(data, "T00"); return run_final_status(data);
case 'z': case 'z':
case 'Z': case 'Z':