From: Tom Tromey Date: Sat, 7 May 2022 16:07:36 +0000 (-0600) Subject: Fix "catch syscall" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c5eab52dbae5806ffa8567afc73aab7f3a93f4a6;p=binutils-gdb.git Fix "catch syscall" Simon pointed out that some recent patches of mine broke "catch syscall". Apparently I forgot to finish the conversion of this code when removing init_catchpoint. This patch completes the conversion and fixes the bug. --- diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c index d79ced47a12..af55ecb1b5c 100644 --- a/gdb/break-catch-syscall.c +++ b/gdb/break-catch-syscall.c @@ -35,10 +35,11 @@ /* An instance of this type is used to represent a syscall catchpoint. */ -struct syscall_catchpoint : public breakpoint +struct syscall_catchpoint : public catchpoint { - syscall_catchpoint (struct gdbarch *gdbarch, std::vector &&calls) - : breakpoint (gdbarch, bp_catchpoint), + syscall_catchpoint (struct gdbarch *gdbarch, bool tempflag, + std::vector &&calls) + : catchpoint (gdbarch, tempflag, nullptr), syscalls_to_be_caught (std::move (calls)) { } @@ -354,7 +355,7 @@ create_syscall_event_catchpoint (int tempflag, std::vector &&filter) struct gdbarch *gdbarch = get_current_arch (); std::unique_ptr c - (new syscall_catchpoint (gdbarch, std::move (filter))); + (new syscall_catchpoint (gdbarch, tempflag, std::move (filter))); install_breakpoint (0, std::move (c), 1); }