aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-01-24 21:32:56 +0000
committerTom Tromey <tromey@redhat.com>2012-01-24 21:32:56 +0000
commitf90263c12471deb24d0fb69c09b8039b1d50af16 (patch)
tree47be77e01d022ebdde0b0df328888aae12302d2d /gdb/infrun.c
parent09ac7c10d43e1cbbebdc90e9f7b044d34488f2ec (diff)
downloadbinutils-f90263c12471deb24d0fb69c09b8039b1d50af16.zip
binutils-f90263c12471deb24d0fb69c09b8039b1d50af16.tar.gz
binutils-f90263c12471deb24d0fb69c09b8039b1d50af16.tar.bz2
2012-01-24 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (breakpoint_hit_catch_fork) (breakpoint_hit_catch_vfork, breakpoint_hit_catch_syscall) (breakpoint_hit_catch_exec): Make use of the `ws' argument. * infrun.c (inferior_has_forked, inferior_has_vforked) (inferior_has_execd, inferior_has_called_syscall): Delete. (handle_syscall_event): Get syscall_number from the execution control state's wait status. (wait_for_inferior): Don't clear syscall_number.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c81
1 files changed, 1 insertions, 80 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 23a4bba..de4a8b7 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2701,10 +2701,6 @@ wait_for_inferior (void)
state. */
old_chain = make_cleanup (finish_thread_state_cleanup, &minus_one_ptid);
- if (ecs->ws.kind == TARGET_WAITKIND_SYSCALL_ENTRY
- || ecs->ws.kind == TARGET_WAITKIND_SYSCALL_RETURN)
- ecs->ws.value.syscall_number = UNKNOWN_SYSCALL;
-
/* Now figure out what to do with the result of the result. */
handle_inferior_event (ecs);
@@ -3072,11 +3068,9 @@ handle_syscall_event (struct execution_control_state *ecs)
regcache = get_thread_regcache (ecs->ptid);
gdbarch = get_regcache_arch (regcache);
- syscall_number = gdbarch_get_syscall_number (gdbarch, ecs->ptid);
+ syscall_number = ecs->ws.value.syscall_number;
stop_pc = regcache_read_pc (regcache);
- target_last_waitstatus.value.syscall_number = syscall_number;
-
if (catch_syscall_enabled () > 0
&& catching_syscall_number (syscall_number) > 0)
{
@@ -6863,79 +6857,6 @@ discard_infcall_control_state (struct infcall_control_state *inf_status)
}
int
-inferior_has_forked (ptid_t pid, ptid_t *child_pid)
-{
- struct target_waitstatus last;
- ptid_t last_ptid;
-
- get_last_target_status (&last_ptid, &last);
-
- if (last.kind != TARGET_WAITKIND_FORKED)
- return 0;
-
- if (!ptid_equal (last_ptid, pid))
- return 0;
-
- *child_pid = last.value.related_pid;
- return 1;
-}
-
-int
-inferior_has_vforked (ptid_t pid, ptid_t *child_pid)
-{
- struct target_waitstatus last;
- ptid_t last_ptid;
-
- get_last_target_status (&last_ptid, &last);
-
- if (last.kind != TARGET_WAITKIND_VFORKED)
- return 0;
-
- if (!ptid_equal (last_ptid, pid))
- return 0;
-
- *child_pid = last.value.related_pid;
- return 1;
-}
-
-int
-inferior_has_execd (ptid_t pid, char **execd_pathname)
-{
- struct target_waitstatus last;
- ptid_t last_ptid;
-
- get_last_target_status (&last_ptid, &last);
-
- if (last.kind != TARGET_WAITKIND_EXECD)
- return 0;
-
- if (!ptid_equal (last_ptid, pid))
- return 0;
-
- *execd_pathname = xstrdup (last.value.execd_pathname);
- return 1;
-}
-
-int
-inferior_has_called_syscall (ptid_t pid, int *syscall_number)
-{
- struct target_waitstatus last;
- ptid_t last_ptid;
-
- get_last_target_status (&last_ptid, &last);
-
- if (last.kind != TARGET_WAITKIND_SYSCALL_ENTRY &&
- last.kind != TARGET_WAITKIND_SYSCALL_RETURN)
- return 0;
-
- if (!ptid_equal (last_ptid, pid))
- return 0;
-
- *syscall_number = last.value.syscall_number;
- return 1;
-}
-
-int
ptid_match (ptid_t ptid, ptid_t filter)
{
if (ptid_equal (filter, minus_one_ptid))