From c5eab52dbae5806ffa8567afc73aab7f3a93f4a6 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 7 May 2022 10:07:36 -0600 Subject: [PATCH] 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. --- gdb/break-catch-syscall.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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); } -- 2.30.2