diff options
author | Tom Tromey <tom@tromey.com> | 2022-05-01 16:11:26 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2022-05-06 12:03:35 -0600 |
commit | fed1c982dec3baba167b3fd4df3538f09fa3d339 (patch) | |
tree | 40077feab51633a68a1cf53066f83ff7f3991b90 /gdb/break-catch-load.c | |
parent | b68f26dea78f1a390084a0e2bfa95f1bcf1942dc (diff) | |
download | binutils-fed1c982dec3baba167b3fd4df3538f09fa3d339.zip binutils-fed1c982dec3baba167b3fd4df3538f09fa3d339.tar.gz binutils-fed1c982dec3baba167b3fd4df3538f09fa3d339.tar.bz2 |
Introduce catchpoint class
This introduces a catchpoint class that is used as the base class for
all catchpoints. init_catchpoint is rewritten to be a constructor
instead.
This changes the hierarchy a little -- some catchpoints now inherit
from base_breakpoint whereas previously they did not. This isn't a
problem, as long as re_set is redefined in catchpoint.
Diffstat (limited to 'gdb/break-catch-load.c')
-rw-r--r-- | gdb/break-catch-load.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/gdb/break-catch-load.c b/gdb/break-catch-load.c index 8579f4e..617ee2b 100644 --- a/gdb/break-catch-load.c +++ b/gdb/break-catch-load.c @@ -33,10 +33,12 @@ A breakpoint is really of this type iff its ops pointer points to CATCH_SOLIB_BREAKPOINT_OPS. */ -struct solib_catchpoint : public breakpoint +struct solib_catchpoint : public catchpoint { - solib_catchpoint (struct gdbarch *gdbarch, bool is_load_, const char *arg) - : breakpoint (gdbarch, bp_catchpoint), + solib_catchpoint (struct gdbarch *gdbarch, bool temp, + const char *cond_string, + bool is_load_, const char *arg) + : catchpoint (gdbarch, temp, cond_string), is_load (is_load_), regex (arg == nullptr ? nullptr : make_unique_xstrdup (arg)), compiled (arg == nullptr @@ -229,11 +231,10 @@ add_solib_catchpoint (const char *arg, bool is_load, bool is_temp, bool enabled) if (*arg == '\0') arg = nullptr; - std::unique_ptr<solib_catchpoint> c (new solib_catchpoint (gdbarch, + std::unique_ptr<solib_catchpoint> c (new solib_catchpoint (gdbarch, is_temp, + nullptr, is_load, arg)); - init_catchpoint (c.get (), gdbarch, is_temp, NULL); - c->enable_state = enabled ? bp_enabled : bp_disabled; install_breakpoint (0, std::move (c), 1); |