Remove breakpoint ops initialization

initialize_breakpoint_ops does not do much any more, so remove it in
favor of statically-initialize objects.
This commit is contained in:
Tom Tromey
2022-01-16 19:23:48 -07:00
parent a0cd5f080b
commit 8613a476b1
2 changed files with 31 additions and 41 deletions

View File

@@ -234,11 +234,34 @@ static bool is_masked_watchpoint (const struct breakpoint *b);
static int strace_marker_p (struct breakpoint *b);
static void bkpt_probe_create_sals_from_location
(struct event_location *location,
struct linespec_result *canonical,
enum bptype type_wanted);
static void tracepoint_probe_create_sals_from_location
(struct event_location *location,
struct linespec_result *canonical,
enum bptype type_wanted);
struct breakpoint_ops base_breakpoint_ops =
{
create_sals_from_location_default,
create_breakpoints_sal_default,
};
/* Breakpoints set on probes. */
static struct breakpoint_ops bkpt_probe_breakpoint_ops;
static struct breakpoint_ops bkpt_probe_breakpoint_ops =
{
bkpt_probe_create_sals_from_location,
create_breakpoints_sal_default,
};
/* Tracepoints set on probes. */
static struct breakpoint_ops tracepoint_probe_breakpoint_ops;
static struct breakpoint_ops tracepoint_probe_breakpoint_ops =
{
tracepoint_probe_create_sals_from_location,
create_breakpoints_sal_default,
};
/* The structure to be used in regular breakpoints. */
struct ordinary_breakpoint : public base_breakpoint
@@ -11608,12 +11631,6 @@ breakpoint::decode_location (struct event_location *location,
internal_error_pure_virtual_called ();
}
struct breakpoint_ops base_breakpoint_ops =
{
create_sals_from_location_default,
create_breakpoints_sal_default,
};
/* Default breakpoint_ops methods. */
void
@@ -12227,7 +12244,12 @@ static_marker_tracepoint::decode_location (struct event_location *location,
error (_("marker %s not found"), static_trace_marker_id.c_str ());
}
static struct breakpoint_ops strace_marker_breakpoint_ops;
/* Static tracepoints with marker (`-m'). */
static struct breakpoint_ops strace_marker_breakpoint_ops =
{
strace_marker_create_sals_from_location,
strace_marker_create_breakpoints_sal,
};
static int
strace_marker_p (struct breakpoint *b)
@@ -14344,34 +14366,6 @@ breakpoint_free_objfile (struct objfile *objfile)
loc->symtab = NULL;
}
void
initialize_breakpoint_ops (void)
{
static int initialized = 0;
struct breakpoint_ops *ops;
if (initialized)
return;
initialized = 1;
/* Probe breakpoints. */
ops = &bkpt_probe_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 = 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 = base_breakpoint_ops;
ops->create_sals_from_location = strace_marker_create_sals_from_location;
ops->create_breakpoints_sal = strace_marker_create_breakpoints_sal;
}
/* Chain containing all defined "enable breakpoint" subcommands. */
static struct cmd_list_element *enablebreaklist = NULL;
@@ -14386,8 +14380,6 @@ _initialize_breakpoint ()
{
struct cmd_list_element *c;
initialize_breakpoint_ops ();
gdb::observers::solib_unloaded.attach (disable_breakpoints_in_unloaded_shlib,
"breakpoint");
gdb::observers::free_objfile.attach (disable_breakpoints_in_freed_objfile,

View File

@@ -1400,8 +1400,6 @@ extern void tbreak_command (const char *, int);
extern struct breakpoint_ops base_breakpoint_ops;
extern void initialize_breakpoint_ops (void);
/* Arguments to pass as context to some catch command handlers. */
#define CATCH_PERMANENT ((void *) (uintptr_t) 0)
#define CATCH_TEMPORARY ((void *) (uintptr_t) 1)