diff options
author | Alexandra Hájková <ahajkova@redhat.com> | 2024-03-19 12:34:34 +0100 |
---|---|---|
committer | Alexandra Hájková <ahajkova@redhat.com> | 2024-06-12 14:13:35 +0200 |
commit | ddb3f3d89cf62df6be3cb9e110504def19625160 (patch) | |
tree | 063614ca9d714628ed072731a7d2893d2d2c0292 /gdbserver | |
parent | 7065d0a33f732b7f0527f83ec0a352634b2d1ace (diff) | |
download | fsf-binutils-gdb-ddb3f3d89cf62df6be3cb9e110504def19625160.zip fsf-binutils-gdb-ddb3f3d89cf62df6be3cb9e110504def19625160.tar.gz fsf-binutils-gdb-ddb3f3d89cf62df6be3cb9e110504def19625160.tar.bz2 |
Add "error_message+" feature to qSupported
Add a new 'error_message' feature to the qSupported packet. When GDB
supports this feature then gdbserver is able to send
errors in the E.errtext format for the qRcmd and m packets.
Update qRcmd packet and m packets documentation as qRcmd newly
accepts errors in a E.errtext format.
Previously these two packets didn't support E.errtext style errors.
Approved-By: Tom Tromey <tom@tromey.com>
Approved-By: Andrew Burgess <aburgess@redhat.com>
Diffstat (limited to 'gdbserver')
-rw-r--r-- | gdbserver/server.cc | 3 | ||||
-rw-r--r-- | gdbserver/server.h | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 6f9d2a8..ab9a33f 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -2699,6 +2699,8 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) if (target_supports_memory_tagging ()) cs.memory_tagging_feature = true; } + else if (feature == "error-message+") + cs.error_message_supported = true; else { /* Move the unknown features all together. */ @@ -4364,6 +4366,7 @@ captured_main (int argc, char *argv[]) cs.hwbreak_feature = 0; cs.vCont_supported = 0; cs.memory_tagging_feature = false; + cs.error_message_supported = false; remote_open (port); diff --git a/gdbserver/server.h b/gdbserver/server.h index 0074818..eabedb9 100644 --- a/gdbserver/server.h +++ b/gdbserver/server.h @@ -192,6 +192,11 @@ struct client_state /* If true, memory tagging features are supported. */ bool memory_tagging_feature = false; + /* If true then E.errtext style errors are supported everywhere, + including for the qRcmd and m packet. When false E.errtext errors + are not supported with qRcmd and m packets, but are still supported + everywhere else. This is for backward compatibility reasons. */ + bool error_message_supported = false; }; client_state &get_client_state (); |