mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 10:03:47 +08:00
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.
This commit is contained in:
parent
97e20099d3
commit
8263b346fa
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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+");
|
||||
|
@ -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)
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user