diff options
author | Thiago Jung Bauermann <bauerman@br.ibm.com> | 2011-01-11 19:16:23 +0000 |
---|---|---|
committer | Thiago Jung Bauermann <bauerman@br.ibm.com> | 2011-01-11 19:16:23 +0000 |
commit | 77b06cd7198f20bb48b3a148ca8b9efbaa06aa19 (patch) | |
tree | 1b8297d4262c443c8d17dd9ac85bfda54c2a8860 /gdb/target.c | |
parent | 3143e5a930bd71ff2ddd889f906f9df3631a1ae7 (diff) | |
download | gdb-77b06cd7198f20bb48b3a148ca8b9efbaa06aa19.zip gdb-77b06cd7198f20bb48b3a148ca8b9efbaa06aa19.tar.gz gdb-77b06cd7198f20bb48b3a148ca8b9efbaa06aa19.tar.bz2 |
2010-01-11 Thiago Jung Bauermann <bauerman@br.ibm.com>
Convert hardware watchpoints to use breakpoint_ops.
gdb/
* breakpoint.h (breakpoint_ops) <insert>: Rename to...
<insert_location>: ... this. Return int instead of void.
Accept pointer to struct bp_location instead of pointer to
struct breakpoint. Adapt all implementations.
(breakpoint_ops) <remove>: Rename to...
<remove_location>: ... this. Accept pointer to struct bp_location
instead of pointer to struct breakpoint. Adapt all implementations.
* breakpoint.c (insert_catchpoint): Delete function.
(insert_bp_location): Call the watchpoint or catchpoint's
breakpoint_ops.insert method.
(remove_breakpoint_1): Call the watchpoint or catchpoint's
breakpoint_ops.remove method.
(insert_watchpoint, remove_watchpoint): New functions.
(watchpoint_breakpoint_ops): New structure.
(watch_command_1): Initialize the OPS field.
* inf-child.c (inf_child_insert_fork_catchpoint)
(inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint)
(inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint)
(inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint):
Delete functions.
(inf_child_target): Remove initialization of to_insert_fork_catchpoint,
to_remove_fork_catchpoint, to_insert_vfork_catchpoint,
to_remove_vfork_catchpoint, to_insert_exec_catchpoint,
to_remove_exec_catchpoint and to_set_syscall_catchpoint.
* target.c (update_current_target): Change default implementation of
to_insert_fork_catchpoint, to_remove_fork_catchpoint,
to_insert_vfork_catchpoint, to_remove_vfork_catchpoint,
to_insert_exec_catchpoint, to_remove_exec_catchpoint and
to_set_syscall_catchpoint to return_one.
(debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint)
(debug_to_insert_exec_catchpoint): Report return value.
* target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint)
(to_insert_exec_catchpoint): Change declaration to return int instead
of void.
gdb/testsuite/
* gdb.base/foll-exec.exp: Adapt to new error string when the catchpoint
type is not supported.
* gdb.base/foll-fork.exp: Likewise.
* gdb.base/foll-vfork.exp: Likewise.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/gdb/target.c b/gdb/target.c index bfb2bbd..4854834 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -779,26 +779,26 @@ update_current_target (void) (void (*) (ptid_t)) target_ignore); de_fault (to_insert_fork_catchpoint, - (void (*) (int)) - tcomplain); + (int (*) (int)) + return_one); de_fault (to_remove_fork_catchpoint, (int (*) (int)) - tcomplain); + return_one); de_fault (to_insert_vfork_catchpoint, - (void (*) (int)) - tcomplain); + (int (*) (int)) + return_one); de_fault (to_remove_vfork_catchpoint, (int (*) (int)) - tcomplain); + return_one); de_fault (to_insert_exec_catchpoint, - (void (*) (int)) - tcomplain); + (int (*) (int)) + return_one); de_fault (to_remove_exec_catchpoint, (int (*) (int)) - tcomplain); + return_one); de_fault (to_set_syscall_catchpoint, (int (*) (int, int, int, int, int *)) - tcomplain); + return_one); de_fault (to_has_exited, (int (*) (int, int, int *)) return_zero); @@ -3661,13 +3661,17 @@ debug_to_post_startup_inferior (ptid_t ptid) PIDGET (ptid)); } -static void +static int debug_to_insert_fork_catchpoint (int pid) { - debug_target.to_insert_fork_catchpoint (pid); + int retval; + + retval = debug_target.to_insert_fork_catchpoint (pid); + + fprintf_unfiltered (gdb_stdlog, "target_insert_fork_catchpoint (%d) = %d\n", + pid, retval); - fprintf_unfiltered (gdb_stdlog, "target_insert_fork_catchpoint (%d)\n", - pid); + return retval; } static int @@ -3683,13 +3687,17 @@ debug_to_remove_fork_catchpoint (int pid) return retval; } -static void +static int debug_to_insert_vfork_catchpoint (int pid) { - debug_target.to_insert_vfork_catchpoint (pid); + int retval; + + retval = debug_target.to_insert_vfork_catchpoint (pid); - fprintf_unfiltered (gdb_stdlog, "target_insert_vfork_catchpoint (%d)\n", - pid); + fprintf_unfiltered (gdb_stdlog, "target_insert_vfork_catchpoint (%d) = %d\n", + pid, retval); + + return retval; } static int @@ -3705,13 +3713,17 @@ debug_to_remove_vfork_catchpoint (int pid) return retval; } -static void +static int debug_to_insert_exec_catchpoint (int pid) { - debug_target.to_insert_exec_catchpoint (pid); + int retval; + + retval = debug_target.to_insert_exec_catchpoint (pid); - fprintf_unfiltered (gdb_stdlog, "target_insert_exec_catchpoint (%d)\n", - pid); + fprintf_unfiltered (gdb_stdlog, "target_insert_exec_catchpoint (%d) = %d\n", + pid, retval); + + return retval; } static int |