+2012-09-27  Yao Qi  <yao@codesourcery.com>
+
+       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  <muller@ics.u-strasbg.fr>
 
        * procfs.c: Add gdb_bfd header.
 
 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);
 
 
   int tracepoint = 0;
   struct cleanup *back_to;
   enum bptype type_wanted;
+  struct breakpoint_ops *ops;
 
   enum opt
     {
   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,
                     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);
 
 }