old-cross-binutils/gdb/common
Yao Qi dd2e65cc2c Call target_can_download_tracepoint if there are tracepoints to download
Nowadays, GDB calls target_can_download_tracepoint at the entry of
download_tracepoint_locations, which is called by.
update_global_location_list.  Sometimes, it is not needed to call
target_can_download_tracepoint at all because there is no tracepoint
created.  In remote target, target_can_download_tracepoint send
qTStatus to the remote in order to know whether tracepoint can be
downloaded or not.  This means some redundant qTStatus packets are
sent.

This patch is to teach GDB to call target_can_download_tracepoint
lazily, only on the moment there are tracepoint to download.
gdb.perf/single-step.exp (with a local patch to measure RSP packets)
shows the number of RSP packets is reduced because there is no
tracepoint at all, so GDB doesn't send qTStatus any more.

                       # of RSP packets
                       original  patched
single-step rsp 1000   7000      6000
single-step rsp 2000   14000     12000
single-step rsp 3000   21000     18000
single-step rsp 4000   28000     24000

gdb:

2015-09-10  Yao Qi  <yao.qi@linaro.org>

	* breakpoint.c (download_tracepoint_locations): New local
	can_download_tracepoint.  Check the result of
	target_can_download_tracepoint and save it in
	can_download_tracepoint if there are tracepoints to download.
	* linux-nat.h (enum tribool): Move it to ...
	* common/common-types.h: ... here.
2015-09-10 12:31:36 +01:00
..
agent.c Remove required field in agent's symbols 2015-08-06 12:27:32 +01:00
agent.h Make functions and variables exported by the IPA be extern "C" 2015-02-27 17:27:29 +00:00
ax.def [gdb/ax] small "setv" fix and documentation's adjustment. 2015-02-19 19:04:16 +04:00
break-common.h
btrace-common.c btrace: fix case label in btrace_data_append 2015-07-21 13:50:44 +02:00
btrace-common.h ari, btrace: avoid unsigned long long 2015-07-15 08:40:57 +02:00
buffer.c Remove redundant include directives. 2015-06-24 13:52:29 +01:00
buffer.h
cleanups.c Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
cleanups.h
common-debug.c
common-debug.h
common-defs.h Move utility functions to common/ 2015-06-15 17:04:56 +02:00
common-exceptions.c Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
common-exceptions.h Make TRY/CATCH use real C++ try/catch in C++ mode 2015-03-07 15:26:27 +00:00
common-regcache.h
common-types.h Call target_can_download_tracepoint if there are tracepoints to download 2015-09-10 12:31:36 +01:00
common-utils.c Move utility functions to common/ 2015-06-15 17:04:56 +02:00
common-utils.h Move utility functions to common/ 2015-06-15 17:04:56 +02:00
common.host
common.m4 Revert the previous 7 commits of: Validate binary before use 2015-07-15 20:27:32 +02:00
create-version.sh
errors.c
errors.h
fileio.c Don't assume File-I/O mode bits match the host's format 2015-06-09 13:24:46 +01:00
fileio.h Don't assume File-I/O mode bits match the host's format 2015-06-09 13:24:46 +01:00
filestuff.c Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
filestuff.h Move make_cleanup_close to common code 2015-06-10 14:28:43 +01:00
format.c Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
format.h
gdb_assert.h
gdb_locale.h
gdb_setjmp.h
gdb_signals.h
gdb_sys_time.h Prepare for gnulib update 2015-08-24 18:50:55 +01:00
gdb_vecs.c
gdb_vecs.h
gdb_wait.h
host-defs.h Move utility functions to common/ 2015-06-15 17:04:56 +02:00
mingw-strerror.c
posix-strerror.c
print-utils.c Remove redundant include directives. 2015-06-24 13:52:29 +01:00
print-utils.h
ptid.c
ptid.h
queue.h Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
rsp-low.c remote: consider addressable unit size when reading/writing memory 2015-06-18 13:12:39 -04:00
rsp-low.h remote: consider addressable unit size when reading/writing memory 2015-06-18 13:12:39 -04:00
signals.c
symbol.h
vec.c
vec.h
version.h
x86-xstate.h
xml-utils.c
xml-utils.h