Commit d625e9c0d706eb43afbf52634d5cecacae1d57cc

Authored by Jason Wessel
1 parent 8097551d9a

kgdb: continue and warn on signal passing from gdb

On some architectures for the segv trap, gdb wants to pass the signal
back on continue.  For kgdb this is not the default behavior, because
it can cause the kernel to crash if you arbitrarily pass back a
exception outside of kgdb.

Instead of causing instability, pass a message back to gdb about the
supported kgdb signal passing and execute a standard kgdb continue
operation.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>

Showing 1 changed file with 4 additions and 2 deletions Side-by-side Diff

... ... @@ -1210,8 +1210,10 @@
1210 1210 return 1;
1211 1211  
1212 1212 } else {
1213   - error_packet(remcom_out_buffer, -EINVAL);
1214   - return 0;
  1213 + kgdb_msg_write("KGDB only knows signal 9 (pass)"
  1214 + " and 15 (pass and disconnect)\n"
  1215 + "Executing a continue without signal passing\n", 0);
  1216 + remcom_in_buffer[0] = 'c';
1215 1217 }
1216 1218  
1217 1219 /* Indicate fall through */