diff options
author | Pedro Alves <palves@redhat.com> | 2011-07-25 11:16:49 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2011-07-25 11:16:49 +0000 |
commit | 348d480fa91d21a2bd880e958ebdffd425b57772 (patch) | |
tree | 837f89675701317793fde4e27024de25d215ac3d /gdb/ChangeLog | |
parent | 4b9dc14e0c15d9c1892c360846db87d4990a9ff5 (diff) | |
download | gdb-348d480fa91d21a2bd880e958ebdffd425b57772.zip gdb-348d480fa91d21a2bd880e958ebdffd425b57772.tar.gz gdb-348d480fa91d21a2bd880e958ebdffd425b57772.tar.bz2 |
2011-07-25 Pedro Alves <pedro@codesourcery.com>
Implement most breakpoint_ops methods for all breakpoint types,
and move the default handlings to the proper callbacks.
gdb/
* breakpoint.c (update_watchpoint): Always call the breakpoint's
works_in_software_mode method.
(insert_bp_location): Go through breakpoint_ops->insert_location
for software and hardware watchpoints.
(create_internal_breakpoint): Pass bkpt_breakpoint_ops as
breakpoint_ops.
(remove_breakpoint_1): Go through breakpoint_ops->remove_location
for software and hardware watchpoints.
(print_it_typical): Delete.
(print_bp_stop_message): Always call the breakpoint_ops->print_it
method.
(watchpoint_check): Adjust comment.
(bpstat_check_location): Simply always call the breakpoint's
breakpoint_hit method.
(bpstat_stop_status): Always call the breakpoint's check_status
method. Remove special cases for watchpoints and internal event
breakpoints from here (moved to the check_status implementations).
(print_one_breakpoint_location): Assume b->ops is never NULL.
Remove static tracepoint marker id printing from here (moved to
the print_one_detail callback implementation of tracepoints).
(init_bp_location): Assert OPS is never NULL.
(allocate_bp_location): Always call the breakpoint's
allocate_location method, and remove the default code from here.
(free_bp_location): Always call the location's dtor method, and
remove the default code from here.
(init_raw_breakpoint_without_location): Assert OPS is never NULL.
(set_raw_breakpoint_without_location): Add new breakpoint_ops
parameter. Pass it down.
(set_raw_breakpoint): Ditto.
(print_it_catch_fork): Adjust to take a bpstat as argument.
(catch_fork_breakpoint_ops): Install methods.
(print_it_catch_vfork): Adjust to take a bpstat as argument.
(catch_vfork_breakpoint_ops): Install methods.
(dtor_catch_syscall): Call the base dtor.
(print_it_catch_syscall): Adjust to take a bpstat as argument.
(catch_syscall_breakpoint_ops): Install methods.
(dtor_catch_exec): Call the base dtor.
(print_it_catch_exec): Adjust to take a bpstat as argument.
(catch_exec_breakpoint_ops): Install methods.
(hw_breakpoint_used_count, hw_watchpoint_used_count): Always call
the breakpoint's resources_needed method, and remove the default
code from here.
(set_momentary_breakpoint): Pass bkpt_breakpoint_ops as
breakpoint_ops.
(clone_momentary_breakpoint): Clone the original's ops.
(mention): Always call the breakpoint's print_mention method, and
remove the default code from here.
(create_breakpoint_sal): Adjust to pass the ops to
set_raw_breakpoint rather than setting it manually.
(create_breakpoint): Assert ops is never NULL. Adjust to pass the
ops to set_raw_breakpoint_without_location rather than setting it
manually.
(break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops.
(print_it_ranged_breakpoint): Adjust to take a bpstat as argument.
(ranged_breakpoint_ops): Install methods.
(break_range_command): Adjust to pass the ops to
set_raw_breakpoint rather than setting it manually.
(re_set_watchpoint, breakpoint_hit_watchpoint)
(check_status_watchpoint, resources_needed_watchpoint)
(works_in_software_mode_watchpoint, print_it_watchpoint)
(print_mention_watchpoint, print_recreate_watchpoint): New
functions.
(watchpoint_breakpoint_ops): Install new methods.
(print_it_masked_watchpoint): New function.
(masked_watchpoint_breakpoint_ops): Install new methods.
(watch_command_1): Adjust to pass the right breakpoint_ops to
set_raw_breakpoint_without_location rather than setting it
manually later. Record the current pspace.
(print_it_exception_catchpoint): Adjust to take a bpstat as
argument.
(gnu_v3_exception_catchpoint_ops): Install new methods.
(say_where): New function.
(null_re_set, null_check_status, null_works_in_software_mode)
(null_resources_needed, null_print_one_detail, bp_location_dtor):
New functions.
(bp_location_ops): New global.
(bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
(bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
(bkpt_check_status, bkpt_resources_needed)
(bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention)
(bkpt_print_recreate): New functions.
(bkpt_breakpoint_ops): New global.
(tracepoint_re_set, tracepoint_insert_location)
(tracepoint_remove_location, tracepoint_breakpoint_hit)
(tracepoint_check_status, tracepoint_works_in_software_mode)
(tracepoint_print_it, tracepoint_print_one_detail)
(tracepoint_print_mention, tracepoint_print_recreate): New
functions.
(tracepoint_breakpoint_ops): New global.
(delete_breakpoint): Always call the breakpoint's dtor method, and
remove the default handling from here.
(breakpoint_re_set_default): Make static.
(breakpoint_re_set_one): Always call the breakpoints re_set
method, and remove the default handling from here.
(trace_command, ftrace_command, strace_command)
(create_tracepoint_from_upload): Pass appropriate breakpoints_ops
to create_breakpoint.
(save_breakpoints): Always call the breakpoint's print_recreate
method, and remove the default handling from here.
* ada-lang.c (dtor_exception): Call the base dtor.
(re_set_exception): Call the base method.
(print_it_exception, print_it_catch_exception): Adjust to take a
bpstat as argument.
(catch_exception_breakpoint_ops): Install methods.
(print_it_catch_exception_unhandled): Adjust to take a bpstat as
argument.
(catch_exception_unhandled_breakpoint_ops): Install methods.
(print_it_catch_assert): Adjust to take a bpstat as argument.
(catch_assert_breakpoint_ops): Install methods.
* breakpoint.h (struct breakpoint_ops): Adjust the print_it method
to take a bpstat as argument.
(enum print_stop_action): Add describing comments to each enum
value.
(breakpoint_re_set_default): Delete declaration.
(null_re_set, null_works_in_software_mode, null_resources_needed)
(null_check_status, null_print_one_detail): Declare.
(bkpt_breakpoint_ops): Declare.
(bkpt_dtor, bkpt_allocate_location, bkpt_re_set)
(bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit)
(bkpt_check_status, bkpt_resources_needed)
(bkpt_works_in_software_mode, bkpt_print_it)
(null_print_one_detail, bkpt_print_mention, bkpt_print_recreate):
Declare.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass
bkpt_breakpoint_ops.
* python/py-breakpoint.c (bppy_init): Ditto.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r-- | gdb/ChangeLog | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 32c9a4d..ec1d3b3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,138 @@ +2011-07-25 Pedro Alves <pedro@codesourcery.com> + + Implement most breakpoint_ops methods for all breakpoint types, + and move the default handlings to the proper callbacks. + + * breakpoint.c (update_watchpoint): Always call the breakpoint's + works_in_software_mode method. + (insert_bp_location): Go through breakpoint_ops->insert_location + for software and hardware watchpoints. + (create_internal_breakpoint): Pass bkpt_breakpoint_ops as + breakpoint_ops. + (remove_breakpoint_1): Go through breakpoint_ops->remove_location + for software and hardware watchpoints. + (print_it_typical): Delete. + (print_bp_stop_message): Always call the breakpoint_ops->print_it + method. + (watchpoint_check): Adjust comment. + (bpstat_check_location): Simply always call the breakpoint's + breakpoint_hit method. + (bpstat_stop_status): Always call the breakpoint's check_status + method. Remove special cases for watchpoints and internal event + breakpoints from here (moved to the check_status implementations). + (print_one_breakpoint_location): Assume b->ops is never NULL. + Remove static tracepoint marker id printing from here (moved to + the print_one_detail callback implementation of tracepoints). + (init_bp_location): Assert OPS is never NULL. + (allocate_bp_location): Always call the breakpoint's + allocate_location method, and remove the default code from here. + (free_bp_location): Always call the location's dtor method, and + remove the default code from here. + (init_raw_breakpoint_without_location): Assert OPS is never NULL. + (set_raw_breakpoint_without_location): Add new breakpoint_ops + parameter. Pass it down. + (set_raw_breakpoint): Ditto. + (print_it_catch_fork): Adjust to take a bpstat as argument. + (catch_fork_breakpoint_ops): Install methods. + (print_it_catch_vfork): Adjust to take a bpstat as argument. + (catch_vfork_breakpoint_ops): Install methods. + (dtor_catch_syscall): Call the base dtor. + (print_it_catch_syscall): Adjust to take a bpstat as argument. + (catch_syscall_breakpoint_ops): Install methods. + (dtor_catch_exec): Call the base dtor. + (print_it_catch_exec): Adjust to take a bpstat as argument. + (catch_exec_breakpoint_ops): Install methods. + (hw_breakpoint_used_count, hw_watchpoint_used_count): Always call + the breakpoint's resources_needed method, and remove the default + code from here. + (set_momentary_breakpoint): Pass bkpt_breakpoint_ops as + breakpoint_ops. + (clone_momentary_breakpoint): Clone the original's ops. + (mention): Always call the breakpoint's print_mention method, and + remove the default code from here. + (create_breakpoint_sal): Adjust to pass the ops to + set_raw_breakpoint rather than setting it manually. + (create_breakpoint): Assert ops is never NULL. Adjust to pass the + ops to set_raw_breakpoint_without_location rather than setting it + manually. + (break_command_1): Pass bkpt_breakpoint_ops as breakpoint_ops. + (print_it_ranged_breakpoint): Adjust to take a bpstat as argument. + (ranged_breakpoint_ops): Install methods. + (break_range_command): Adjust to pass the ops to + set_raw_breakpoint rather than setting it manually. + (re_set_watchpoint, breakpoint_hit_watchpoint) + (check_status_watchpoint, resources_needed_watchpoint) + (works_in_software_mode_watchpoint, print_it_watchpoint) + (print_mention_watchpoint, print_recreate_watchpoint): New + functions. + (watchpoint_breakpoint_ops): Install new methods. + (print_it_masked_watchpoint): New function. + (masked_watchpoint_breakpoint_ops): Install new methods. + (watch_command_1): Adjust to pass the right breakpoint_ops to + set_raw_breakpoint_without_location rather than setting it + manually later. Record the current pspace. + (print_it_exception_catchpoint): Adjust to take a bpstat as + argument. + (gnu_v3_exception_catchpoint_ops): Install new methods. + (say_where): New function. + (null_re_set, null_check_status, null_works_in_software_mode) + (null_resources_needed, null_print_one_detail, bp_location_dtor): + New functions. + (bp_location_ops): New global. + (bkpt_dtor, bkpt_allocate_location, bkpt_re_set) + (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit) + (bkpt_check_status, bkpt_resources_needed) + (bkpt_works_in_software_mode, bkpt_print_it, bkpt_print_mention) + (bkpt_print_recreate): New functions. + (bkpt_breakpoint_ops): New global. + (tracepoint_re_set, tracepoint_insert_location) + (tracepoint_remove_location, tracepoint_breakpoint_hit) + (tracepoint_check_status, tracepoint_works_in_software_mode) + (tracepoint_print_it, tracepoint_print_one_detail) + (tracepoint_print_mention, tracepoint_print_recreate): New + functions. + (tracepoint_breakpoint_ops): New global. + (delete_breakpoint): Always call the breakpoint's dtor method, and + remove the default handling from here. + (breakpoint_re_set_default): Make static. + (breakpoint_re_set_one): Always call the breakpoints re_set + method, and remove the default handling from here. + (trace_command, ftrace_command, strace_command) + (create_tracepoint_from_upload): Pass appropriate breakpoints_ops + to create_breakpoint. + (save_breakpoints): Always call the breakpoint's print_recreate + method, and remove the default handling from here. + + * ada-lang.c (dtor_exception): Call the base dtor. + (re_set_exception): Call the base method. + (print_it_exception, print_it_catch_exception): Adjust to take a + bpstat as argument. + (catch_exception_breakpoint_ops): Install methods. + (print_it_catch_exception_unhandled): Adjust to take a bpstat as + argument. + (catch_exception_unhandled_breakpoint_ops): Install methods. + (print_it_catch_assert): Adjust to take a bpstat as argument. + (catch_assert_breakpoint_ops): Install methods. + + * breakpoint.h (struct breakpoint_ops): Adjust the print_it method + to take a bpstat as argument. + (enum print_stop_action): Add describing comments to each enum + value. + (breakpoint_re_set_default): Delete declaration. + (null_re_set, null_works_in_software_mode, null_resources_needed) + (null_check_status, null_print_one_detail): Declare. + (bkpt_breakpoint_ops): Declare. + (bkpt_dtor, bkpt_allocate_location, bkpt_re_set) + (bkpt_insert_location, bkpt_remove_location, bkpt_breakpoint_hit) + (bkpt_check_status, bkpt_resources_needed) + (bkpt_works_in_software_mode, bkpt_print_it) + (null_print_one_detail, bkpt_print_mention, bkpt_print_recreate): + Declare. + + * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust to pass + bkpt_breakpoint_ops. + * python/py-breakpoint.c (bppy_init): Ditto. + 2011-07-15 Philippe Waroquiers <philippe.waroquiers@skynet.be> * MAINTAINERS (Write After Approval): Add myself to the list. |