aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/target.c')
-rw-r--r--gdb/target.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/target.c b/gdb/target.c
index a6bb23e..b5cad35 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -351,6 +351,18 @@ kill_or_be_killed (int from_tty)
tcomplain ();
}
+/* A default implementation for the to_get_ada_task_ptid target method.
+
+ This function builds the PTID by using both LWP and TID as part of
+ the PTID lwp and tid elements. The pid used is the pid of the
+ inferior_ptid. */
+
+ptid_t
+default_get_ada_task_ptid (long lwp, long tid)
+{
+ return ptid_build (ptid_get_pid (inferior_ptid), lwp, tid);
+}
+
/* Go through the target stack from top to bottom, copying over zero
entries in current_target, then filling in still empty entries. In
effect, we are doing class inheritance through the pushed target
@@ -457,6 +469,7 @@ update_current_target (void)
INHERIT (to_get_thread_local_address, t);
INHERIT (to_can_execute_reverse, t);
/* Do not inherit to_read_description. */
+ INHERIT (to_get_ada_task_ptid, t);
/* Do not inherit to_search_memory. */
INHERIT (to_magic, t);
/* Do not inherit to_memory_map. */
@@ -622,6 +635,9 @@ update_current_target (void)
(int (*) (int))
return_one);
current_target.to_read_description = NULL;
+ de_fault (to_get_ada_task_ptid,
+ (ptid_t (*) (long, long))
+ default_get_ada_task_ptid);
#undef de_fault
/* Finally, position the target-stack beneath the squashed