Make catchpoint inherit breakpoint, eliminate init_raw_breakpoint
authorPedro Alves <pedro@palves.net>
Sat, 7 May 2022 00:23:03 +0000 (01:23 +0100)
committerPedro Alves <pedro@palves.net>
Fri, 20 May 2022 19:41:01 +0000 (20:41 +0100)
commitacd0955bc118d14dd32c08fd8a6b2ca7fa4e294c
tree34b6d6ed22c9fb997aea501d00d8376093113b64
parent6e14e4412b670d093d74b90e5d4adcfaedb76d3f
Make catchpoint inherit breakpoint, eliminate init_raw_breakpoint

struct catchpoint's ctor currently calls init_raw_breakpoint, which is
a bit weird, as that ctor-like function takes a sal argument, but
catchpoints don't have code locations.

Instead, make struct catchpoint's ctor add the catchpoint's dummy
location using add_dummy_location.

init_raw_breakpoint uses add_location under the hood, and with a dummy
sal it would ultimately use the breakpoint's gdbarch for the
location's gdbarch, so replace the references to loc->gdbarch (which
is now NULL) in syscall_catchpoint to references to the catchpoint's
gdbarch.

struct catchpoint's ctor was the last user of init_raw_breakpoint, so
this commit eliminates the latter.

Since catchpoint locations aren't code locations, make struct
catchpoint inherit struct breakpoint instead of base_breakpoint.  This
let's us delete the tracepoint::re_set override too.

Change-Id: Ib428bf71efb09fdaf399c56e4372b0f41d9c5869
gdb/break-catch-syscall.c
gdb/breakpoint.c
gdb/breakpoint.h