aboutsummaryrefslogtreecommitdiff
path: root/gdb/common/agent.h
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2012-03-03 04:04:35 +0000
committerYao Qi <yao@codesourcery.com>2012-03-03 04:04:35 +0000
commit8ffcbaaf40fd5eac75e04570c6b8989a70276578 (patch)
treefda03da2196ed461094030c7fbe76aa482f71a8c /gdb/common/agent.h
parentd1feda864e0b17c5757197ba1b421e25dac6afd1 (diff)
downloadgdb-8ffcbaaf40fd5eac75e04570c6b8989a70276578.zip
gdb-8ffcbaaf40fd5eac75e04570c6b8989a70276578.tar.gz
gdb-8ffcbaaf40fd5eac75e04570c6b8989a70276578.tar.bz2
gdb:
* common/agent.c (struct ipa_sym_addresses) <addr_capability>: New. (agent_capability_check, agent_capability_invalidate): New. (symbol_list): New array element. * common/agent.h (enum agent_capa): New. * target.c (target_pre_inferior): Call agent_capability_invalidate. gdb/gdbserver: * tracepoint.c (gdb_agent_capability): New global. (in_process_agent_loaded_ust): Renamed to `in_process_agent_supports_ust'. Update callers. (in_process_agent_supports_ust): Call agent_capability_check. (clear_installed_tracepoints): Assert that agent supports agent.
Diffstat (limited to 'gdb/common/agent.h')
-rw-r--r--gdb/common/agent.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/common/agent.h b/gdb/common/agent.h
index 2965215..a1ac9b2 100644
--- a/gdb/common/agent.h
+++ b/gdb/common/agent.h
@@ -36,3 +36,20 @@ int agent_look_up_symbols (void);
extern int debug_agent;
extern int use_agent;
+
+/* Capability of agent. Different agents may have different capabilities,
+ such as installing fast tracepoint or evaluating breakpoint conditions.
+ Capabilities are represented by bit-maps, and each capability occupies one
+ bit. */
+
+enum agent_capa
+{
+ /* Capability to install fast tracepoint. */
+ AGENT_CAPA_FAST_TRACE = 0x1,
+ /* Capability to install static tracepoint. */
+ AGENT_CAPA_STATIC_TRACE = (0x1 << 1),
+};
+
+int agent_capability_check (enum agent_capa);
+
+void agent_capability_invalidate (void);