From: Yao Qi Date: Wed, 26 Sep 2012 23:53:53 +0000 (+0000) Subject: gdb/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=19ca11c580c52654a537a0967ad28c0aff723d9b;p=binutils-gdb.git gdb/ PR breakpoints/13898 * breakpoint.h (tracepoint_breakpoint_ops): Forward declaration. * mi/mi-cmd-break.c (mi_cmd_break_insert): Set breakpoint_ops per breakpoint type. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 081e30523c6..959e90db6c6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2012-09-27 Yao Qi + + PR breakpoints/13898 + * breakpoint.h (tracepoint_breakpoint_ops): Forward declaration. + * mi/mi-cmd-break.c (mi_cmd_break_insert): Set breakpoint_ops + per breakpoint type. + 2012-09-26 Pierre Muller * procfs.c: Add gdb_bfd header. diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 4c6171f4e46..8b1bcb73772 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -1184,6 +1184,7 @@ extern void rwatch_command_wrapper (char *, int, int); extern void tbreak_command (char *, int); extern struct breakpoint_ops bkpt_breakpoint_ops; +extern struct breakpoint_ops tracepoint_breakpoint_ops; extern void initialize_breakpoint_ops (void); diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c index 5a64bf1d555..2fe84dcfecc 100644 --- a/gdb/mi/mi-cmd-break.c +++ b/gdb/mi/mi-cmd-break.c @@ -76,6 +76,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc) int tracepoint = 0; struct cleanup *back_to; enum bptype type_wanted; + struct breakpoint_ops *ops; enum opt { @@ -162,6 +163,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc) type_wanted = (tracepoint ? (hardware ? bp_fast_tracepoint : bp_tracepoint) : (hardware ? bp_hardware_breakpoint : bp_breakpoint)); + ops = tracepoint ? &tracepoint_breakpoint_ops : &bkpt_breakpoint_ops; create_breakpoint (get_current_arch (), address, condition, thread, NULL, @@ -169,7 +171,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc) temp_p, type_wanted, ignore_count, pending ? AUTO_BOOLEAN_TRUE : AUTO_BOOLEAN_FALSE, - &bkpt_breakpoint_ops, 0, enabled, 0, 0); + ops, 0, enabled, 0, 0); do_cleanups (back_to); }