From 554e34517e9fa827b740bd86c5525e58a3ac661a Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Wed, 22 Sep 2021 19:59:51 +0200 Subject: [PATCH] Better reporting when monitor command fails. --- src/gdb_main.c | 3 ++- src/platforms/pc/cl_utils.c | 4 +++- src/target/target.c | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gdb_main.c b/src/gdb_main.c index d453338e..bdff229a 100644 --- a/src/gdb_main.c +++ b/src/gdb_main.c @@ -374,7 +374,8 @@ handle_q_packet(char *packet, int len) else if(c == 0) gdb_putpacketz("OK"); else - gdb_putpacketz("E"); + gdb_putpacket(hexify(pbuf, "Failed\n", strlen("Failed\n")), + 2 * strlen("Failed\n")); } else if (!strncmp (packet, "qSupported", 10)) { /* Query supported protocol features */ diff --git a/src/platforms/pc/cl_utils.c b/src/platforms/pc/cl_utils.c index 6bdba898..74b24bd6 100644 --- a/src/platforms/pc/cl_utils.c +++ b/src/platforms/pc/cl_utils.c @@ -448,7 +448,9 @@ int cl_execute(BMP_CL_OPTIONS_t *opt) DEBUG_WARN("No test for this core type yet\n"); } } else if (opt->opt_mode == BMP_MODE_MONITOR) { - command_process(t, opt->opt_monitor); + res = command_process(t, opt->opt_monitor); + if (res) + DEBUG_WARN("Command \"%s\" failed\n", opt->opt_monitor); } if ((opt->opt_mode == BMP_MODE_TEST) || (opt->opt_mode == BMP_MODE_SWJ_TEST)) diff --git a/src/target/target.c b/src/target/target.c index d356a9a6..c8a10a53 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -574,7 +574,7 @@ int target_command(target *t, int argc, const char *argv[]) for (struct target_command_s *tc = t->commands; tc; tc = tc->next) for(const struct command_s *c = tc->cmds; c->cmd; c++) if(!strncmp(argv[0], c->cmd, strlen(argv[0]))) - return !c->handler(t, argc, argv); + return (c->handler(t, argc, argv)) ? 0 : 1; return -1; }