public inbox for gdb-cvs@sourceware.org help / color / mirror / Atom feed
From: Tankut Baris Aktemur <aktemur@sourceware.org> To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdbserver: do not report btrace support if target does not announce it Date: Wed, 9 Nov 2022 17:01:33 +0000 (GMT) [thread overview] Message-ID: <20221109170133.887A93858D39@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8263b346fa07e3f679b05a8b369d491af51e6de8 commit 8263b346fa07e3f679b05a8b369d491af51e6de8 Author: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com> Date: Wed Nov 9 17:46:21 2022 +0100 gdbserver: do not report btrace support if target does not announce it Gdbserver unconditionally reports support for btrace packets. Do not report the support, if the underlying target does not say it supports it. Otherwise GDB would query the server with btrace-related packets unnecessarily. Diff: --- gdbserver/linux-low.cc | 6 ++++++ gdbserver/linux-low.h | 2 ++ gdbserver/server.cc | 3 ++- gdbserver/target.cc | 6 ++++++ gdbserver/target.h | 3 +++ 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc index 1676328fc88..0cbfeb99086 100644 --- a/gdbserver/linux-low.cc +++ b/gdbserver/linux-low.cc @@ -6712,6 +6712,12 @@ linux_process_target::qxfer_libraries_svr4 (const char *annex, #ifdef HAVE_LINUX_BTRACE +bool +linux_process_target::supports_btrace () +{ + return true; +} + btrace_target_info * linux_process_target::enable_btrace (thread_info *tp, const btrace_config *conf) diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h index 79be31b8f72..1594f063f47 100644 --- a/gdbserver/linux-low.h +++ b/gdbserver/linux-low.h @@ -275,6 +275,8 @@ public: bool supports_agent () override; #ifdef HAVE_LINUX_BTRACE + bool supports_btrace () override; + btrace_target_info *enable_btrace (thread_info *tp, const btrace_config *conf) override; diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 366a843ea89..aaef38e0062 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -2475,7 +2475,8 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p) if (target_supports_agent ()) strcat (own_buf, ";QAgent+"); - supported_btrace_packets (own_buf); + if (the_target->supports_btrace ()) + supported_btrace_packets (own_buf); if (target_supports_stopped_by_sw_breakpoint ()) strcat (own_buf, ";swbreak+"); diff --git a/gdbserver/target.cc b/gdbserver/target.cc index adcfe6e7bcc..c06a67600b1 100644 --- a/gdbserver/target.cc +++ b/gdbserver/target.cc @@ -694,6 +694,12 @@ process_stratum_target::supports_agent () return false; } +bool +process_stratum_target::supports_btrace () +{ + return false; +} + btrace_target_info * process_stratum_target::enable_btrace (thread_info *tp, const btrace_config *conf) diff --git a/gdbserver/target.h b/gdbserver/target.h index 6c536a30778..18ab969dda7 100644 --- a/gdbserver/target.h +++ b/gdbserver/target.h @@ -388,6 +388,9 @@ public: /* Return true if target supports debugging agent. */ virtual bool supports_agent (); + /* Return true if target supports btrace. */ + virtual bool supports_btrace (); + /* Enable branch tracing for TP based on CONF and allocate a branch trace target information struct for reading and for disabling branch trace. */ virtual btrace_target_info *enable_btrace (thread_info *tp,
reply other threads:[~2022-11-09 17:01 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221109170133.887A93858D39@sourceware.org \ --to=aktemur@sourceware.org \ --cc=gdb-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).