Add a test case for fast tracepoints' locking mechanism
authorPierre Langlois <pierre.langlois@arm.com>
Mon, 21 Sep 2015 14:01:05 +0000 (15:01 +0100)
committerYao Qi <yao.qi@linaro.org>
Mon, 21 Sep 2015 14:01:05 +0000 (15:01 +0100)
commit06da0f77c2a447348127e072e34bf541597154a2
tree19514d587b97f763c4fa5aaa49660b216e8c716f
parent4f51c22aca0d53526e65954b99d1ab3abfbb8bc8
Add a test case for fast tracepoints' locking mechanism

When installing a fast tracepoint, we create a jump pad with a
spin-lock.  This way, only one thread can collect a given tracepoint at
any time.  This test case checks that this lock actually works as
expected.

This test works by creating a function which overrides the in-process
agent library's gdb_collect function.  On start up, GDBserver will ask
GDB with the 'qSymbol' packet about symbols present in the inferior.
GDB will reply with the gdb_agent_gdb_collect function from the test
case instead of the one from the agent.

gdb/testsuite/ChangeLog:

* gdb.trace/ftrace-lock.c: New file.
* gdb.trace/ftrace-lock.exp: New file.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/ftrace-lock.c [new file with mode: 0644]
gdb/testsuite/gdb.trace/ftrace-lock.exp [new file with mode: 0644]