Loading gdbstub.c +29 −5 Original line number Diff line number Diff line Loading @@ -1545,6 +1545,25 @@ static void handle_continue(GdbCmdContext *gdb_ctx, void *user_ctx) gdb_continue(gdb_ctx->s); } static void handle_cont_with_sig(GdbCmdContext *gdb_ctx, void *user_ctx) { unsigned long signal = 0; /* * Note: C sig;[addr] is currently unsupported and we simply * omit the addr parameter */ if (gdb_ctx->num_params) { signal = gdb_ctx->params[0].val_ul; } gdb_ctx->s->signal = gdb_signal_to_target(signal); if (gdb_ctx->s->signal == -1) { gdb_ctx->s->signal = 0; } gdb_continue(gdb_ctx->s); } static int gdb_handle_packet(GDBState *s, const char *line_buf) { CPUState *cpu; Loading Loading @@ -1592,11 +1611,16 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf) } break; case 'C': s->signal = gdb_signal_to_target (strtoul(p, (char **)&p, 16)); if (s->signal == -1) s->signal = 0; gdb_continue(s); return RS_IDLE; { static const GdbCmdParseEntry cont_with_sig_cmd_desc = { .handler = handle_cont_with_sig, .cmd = "C", .cmd_startswith = 1, .schema = "l0" }; cmd_parser = &cont_with_sig_cmd_desc; } break; case 'v': if (strncmp(p, "Cont", 4) == 0) { p += 4; Loading Loading
gdbstub.c +29 −5 Original line number Diff line number Diff line Loading @@ -1545,6 +1545,25 @@ static void handle_continue(GdbCmdContext *gdb_ctx, void *user_ctx) gdb_continue(gdb_ctx->s); } static void handle_cont_with_sig(GdbCmdContext *gdb_ctx, void *user_ctx) { unsigned long signal = 0; /* * Note: C sig;[addr] is currently unsupported and we simply * omit the addr parameter */ if (gdb_ctx->num_params) { signal = gdb_ctx->params[0].val_ul; } gdb_ctx->s->signal = gdb_signal_to_target(signal); if (gdb_ctx->s->signal == -1) { gdb_ctx->s->signal = 0; } gdb_continue(gdb_ctx->s); } static int gdb_handle_packet(GDBState *s, const char *line_buf) { CPUState *cpu; Loading Loading @@ -1592,11 +1611,16 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf) } break; case 'C': s->signal = gdb_signal_to_target (strtoul(p, (char **)&p, 16)); if (s->signal == -1) s->signal = 0; gdb_continue(s); return RS_IDLE; { static const GdbCmdParseEntry cont_with_sig_cmd_desc = { .handler = handle_cont_with_sig, .cmd = "C", .cmd_startswith = 1, .schema = "l0" }; cmd_parser = &cont_with_sig_cmd_desc; } break; case 'v': if (strncmp(p, "Cont", 4) == 0) { p += 4; Loading