[patch 0/8] Download tracepoint locations when tracing is running

Yao Qi
2011-11-08T06:00:14Z

Hi,
Current gdb/gdbserver only allows to download tracepoint before tracing
is started. This patch set is about to teach gdb/gdbserver to be able
to download tracepoint locations even when tracing is run. This feature
is quite useful to 1) adding new tracepoints after `tstart', 2) pending
tracepoints can be downloaded/installed in tracing (after this patch set
is applied, pending tracepoint works without much effort).

In order to achieve this feature, there are several points we should
address,
#1 gdb should know whether remote stub supports this feature, so we
need a new qSupported feature "InstallInTrace" for this. This is done
by patch 2/8.
#2 gdb should be able to download tracepoint locations when they are
changed, and keep track of their 'status'. This is done by patch 3/8.
#3 gdbserver should be able to install tracepoint locations when
received from gdb. This is done by patch 6/8 (patch 5/8 is a refactor
to gdbserver to prepare for 6/8).
#4 remote stub may not always be able to receive tracepoint details,
and gdb has to download tracepoints when remote stub is ready. This is
done by patch 3/8.

Patch 2/8 and 3/8 should be part of patch 4/8, but I split them to make
review more clear. This patch set will be applied as a whole once it is
approved.

Patch 8/8 is about test cases. Regression tested on x86-linux and
x86_64-linux. All new added test cases pass on x86-linux, and two
kfails on x86_64-linux. These two kfails are existing problem exposed
by new test cases. I'll explain it in details in patch 8/8.

--
Yao (é½å°§)