addr = bp_objfile_data->overlay_msym.value_address ();
b = create_internal_breakpoint (objfile->arch (), addr,
bp_overlay_event,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
initialize_explicit_location (&explicit_loc);
explicit_loc.function_name = ASTRDUP (func_name);
b->location = new_explicit_location (&explicit_loc);
b = create_internal_breakpoint (gdbarch,
p->get_relocated_address (objfile),
bp_longjmp_master,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b->location = new_probe_location ("-probe-stap libc:longjmp");
b->enable_state = bp_disabled;
}
addr = bp_objfile_data->longjmp_msym[i].value_address ();
b = create_internal_breakpoint (gdbarch, addr, bp_longjmp_master,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
initialize_explicit_location (&explicit_loc);
explicit_loc.function_name = ASTRDUP (func_name);
b->location = new_explicit_location (&explicit_loc);
addr = bp_objfile_data->terminate_msym.value_address ();
b = create_internal_breakpoint (objfile->arch (), addr,
bp_std_terminate_master,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
initialize_explicit_location (&explicit_loc);
explicit_loc.function_name = ASTRDUP (func_name);
b->location = new_explicit_location (&explicit_loc);
b = create_internal_breakpoint (gdbarch,
p->get_relocated_address (objfile),
bp_exception_master,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b->location = new_probe_location ("-probe-stap libgcc:unwind");
b->enable_state = bp_disabled;
}
addr = gdbarch_convert_from_func_ptr_addr
(gdbarch, addr, current_inferior ()->top_target ());
b = create_internal_breakpoint (gdbarch, addr, bp_exception_master,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
initialize_explicit_location (&explicit_loc);
explicit_loc.function_name = ASTRDUP (func_name);
b->location = new_explicit_location (&explicit_loc);
/* longjmp_breakpoint_ops ensures INITIATING_FRAME is cleared again
after their removal. */
clone = momentary_breakpoint_from_master (b, type,
- &vtable_breakpoint_ops, 1);
+ &base_breakpoint_ops, 1);
clone->thread = thread;
}
struct breakpoint *new_b;
new_b = momentary_breakpoint_from_master (b, bp_longjmp_call_dummy,
- &vtable_breakpoint_ops,
+ &base_breakpoint_ops,
1);
new_b->thread = inferior_thread ()->global_num;
&& b->type == bp_std_terminate_master)
{
momentary_breakpoint_from_master (b, bp_std_terminate,
- &vtable_breakpoint_ops, 1);
+ &base_breakpoint_ops, 1);
}
}
struct breakpoint *b;
b = create_internal_breakpoint (gdbarch, address, bp_thread_event,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b->enable_state = bp_enabled;
/* location has to be used or breakpoint_re_set will delete me. */
create_jit_event_breakpoint (struct gdbarch *gdbarch, CORE_ADDR address)
{
return create_internal_breakpoint (gdbarch, address, bp_jit_event,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
}
/* Remove JIT code registration and unregistration breakpoint(s). */
struct breakpoint *b;
b = create_internal_breakpoint (gdbarch, address, bp_shlib_event,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
update_global_location_list_nothrow (insert_mode);
return b;
}
sal.pspace = current_program_space;
init_raw_breakpoint (b, gdbarch, sal, bp_catchpoint,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
if (cond_string == nullptr)
b->cond_string.reset ();
std::unique_ptr<breakpoint> b (new momentary_breakpoint ());
init_raw_breakpoint_without_location (b.get (), gdbarch, bp_single_step,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b->disposition = disp_donttouch;
b->frame_id = null_frame_id;
tail-called one. */
gdb_assert (!frame_id_artificial_p (frame_id));
- b = set_raw_breakpoint (gdbarch, sal, type, &vtable_breakpoint_ops);
+ b = set_raw_breakpoint (gdbarch, sal, type, &base_breakpoint_ops);
b->enable_state = bp_enabled;
b->disposition = disp_donttouch;
b->frame_id = frame_id;
if (orig == NULL)
return NULL;
- gdb_assert (orig->ops == &vtable_breakpoint_ops);
+ gdb_assert (orig->ops == &base_breakpoint_ops);
return momentary_breakpoint_from_master (orig, orig->type, orig->ops, 0);
}
if (location_type == PROBE_LOCATION)
return &tracepoint_probe_breakpoint_ops;
else
- return &vtable_breakpoint_ops;
+ return &base_breakpoint_ops;
}
else
{
if (location_type == PROBE_LOCATION)
return &bkpt_probe_breakpoint_ops;
else
- return &vtable_breakpoint_ops;
+ return &base_breakpoint_ops;
}
}
if (location != nullptr)
return breakpoint_ops_for_event_location_type
(event_location_type (location), is_tracepoint);
- return &vtable_breakpoint_ops;
+ return &base_breakpoint_ops;
}
/* See breakpoint.h. */
0, bp_dprintf,
0 /* Ignore count */,
pending_break_support,
- &vtable_breakpoint_ops,
+ &base_breakpoint_ops,
from_tty,
1 /* enabled */,
0 /* internal */,
std::unique_ptr<breakpoint> br (new ranged_breakpoint ());
init_raw_breakpoint (br.get (), get_current_arch (),
sal_start, bp_hardware_breakpoint,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b = add_to_breakpoint_chain (std::move (br));
set_breakpoint_count (breakpoint_count + 1);
scope_breakpoint
= create_internal_breakpoint (caller_arch, caller_pc,
bp_watchpoint_scope,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
/* create_internal_breakpoint could invalidate WP_FRAME. */
wp_frame = NULL;
else
w.reset (new watchpoint ());
init_raw_breakpoint_without_location (w.get (), nullptr, bp_type,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
w->thread = thread;
w->task = task;
}
init_raw_breakpoint (b, gdbarch, sal, bp_catchpoint,
- &vtable_breakpoint_ops);
+ &base_breakpoint_ops);
b->enable_state = enabled ? bp_enabled : bp_disabled;
b->disposition = tempflag ? disp_del : disp_donttouch;
internal_error_pure_virtual_called ();
}
-static void
-base_breakpoint_create_sals_from_location
- (struct event_location *location,
- struct linespec_result *canonical,
- enum bptype type_wanted)
-{
- internal_error_pure_virtual_called ();
-}
-
-static void
-base_breakpoint_create_breakpoints_sal (struct gdbarch *gdbarch,
- struct linespec_result *c,
- gdb::unique_xmalloc_ptr<char> cond_string,
- gdb::unique_xmalloc_ptr<char> extra_string,
- enum bptype type_wanted,
- enum bpdisp disposition,
- int thread,
- int task, int ignore_count,
- const struct breakpoint_ops *o,
- int from_tty, int enabled,
- int internal, unsigned flags)
-{
- internal_error_pure_virtual_called ();
-}
-
std::vector<symtab_and_line>
breakpoint::decode_location (struct event_location *location,
struct program_space *search_pspace)
}
struct breakpoint_ops base_breakpoint_ops =
-{
- base_breakpoint_create_sals_from_location,
- base_breakpoint_create_breakpoints_sal,
-};
-
-struct breakpoint_ops vtable_breakpoint_ops =
{
create_sals_from_location_default,
create_breakpoints_sal_default,
bp_fast_tracepoint /* type_wanted */,
0 /* Ignore count */,
pending_break_support,
- &vtable_breakpoint_ops,
+ &base_breakpoint_ops,
from_tty,
1 /* enabled */,
0 /* internal */, 0);
}
else
{
- ops = &vtable_breakpoint_ops;
+ ops = &base_breakpoint_ops;
location = string_to_event_location (&arg, current_language);
type = bp_static_tracepoint;
}
utp->type /* type_wanted */,
0 /* Ignore count */,
pending_break_support,
- &vtable_breakpoint_ops,
+ &base_breakpoint_ops,
0 /* from_tty */,
utp->enabled /* enabled */,
0 /* internal */,
/* Probe breakpoints. */
ops = &bkpt_probe_breakpoint_ops;
- *ops = vtable_breakpoint_ops;
+ *ops = base_breakpoint_ops;
ops->create_sals_from_location = bkpt_probe_create_sals_from_location;
/* Probe tracepoints. */
ops = &tracepoint_probe_breakpoint_ops;
- *ops = vtable_breakpoint_ops;
+ *ops = base_breakpoint_ops;
ops->create_sals_from_location = tracepoint_probe_create_sals_from_location;
/* Static tracepoints with marker (`-m'). */
ops = &strace_marker_breakpoint_ops;
- *ops = vtable_breakpoint_ops;
+ *ops = base_breakpoint_ops;
ops->create_sals_from_location = strace_marker_create_sals_from_location;
ops->create_breakpoints_sal = strace_marker_create_breakpoints_sal;
}