public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
To: gdb-patches@sourceware.org
Cc: markus.t.metzger@intel.com
Subject: [PATCH] gdbserver: do not report btrace support if target does not announce it
Date: Wed,  9 Nov 2022 08:34:08 +0100	[thread overview]
Message-ID: <20221109073408.16487-1-tankut.baris.aktemur@intel.com> (raw)

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.
---
 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 @@ class linux_process_target : public process_stratum_target
   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 @@ class process_stratum_target
   /* 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,
-- 
2.25.1

Intel Deutschland GmbH
Registered Address: Am Campeon 10, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de>
Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva  
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


             reply	other threads:[~2022-11-09  7:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09  7:34 Tankut Baris Aktemur [this message]
2022-11-09 15:44 ` Tom Tromey

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=20221109073408.16487-1-tankut.baris.aktemur@intel.com \
    --to=tankut.baris.aktemur@intel.com \
    --cc=gdb-patches@sourceware.org \
    --cc=markus.t.metzger@intel.com \
    /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: link
Be 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).