/* An instance of this type is used to represent a syscall
catchpoint. */
-struct syscall_catchpoint : public breakpoint
+struct syscall_catchpoint : public catchpoint
{
- explicit syscall_catchpoint (std::vector<int> &&calls)
- : syscalls_to_be_caught (std::move (calls))
+ syscall_catchpoint (struct gdbarch *gdbarch, bool tempflag,
+ std::vector<int> &&calls)
+ : catchpoint (gdbarch, tempflag, nullptr),
+ syscalls_to_be_caught (std::move (calls))
{
}
must print "called syscall" or "returned from syscall". */
struct target_waitstatus last;
struct syscall s;
- struct gdbarch *gdbarch = bs->bp_location_at->gdbarch;
+ struct gdbarch *gdbarch = b->gdbarch;
get_last_target_status (nullptr, nullptr, &last);
{
struct value_print_options opts;
struct ui_out *uiout = current_uiout;
- struct gdbarch *gdbarch = loc->gdbarch;
+ struct gdbarch *gdbarch = loc->owner->gdbarch;
get_user_print_options (&opts);
/* Field 4, the address, is omitted (which makes the columns not
void
syscall_catchpoint::print_mention () const
{
- struct gdbarch *gdbarch = loc->gdbarch;
+ struct gdbarch *gdbarch = loc->owner->gdbarch;
if (!syscalls_to_be_caught.empty ())
{
struct gdbarch *gdbarch = get_current_arch ();
std::unique_ptr<syscall_catchpoint> c
- (new syscall_catchpoint (std::move (filter)));
- init_catchpoint (c.get (), gdbarch, tempflag, nullptr);
+ (new syscall_catchpoint (gdbarch, tempflag, std::move (filter)));
install_breakpoint (0, std::move (c), 1);
}