On 1/29/26 12:31, Pierrick Bouvier wrote:
--- a/include/user/syscall-trace.h
+++ b/include/user/syscall-trace.h
@@ -39,5 +39,22 @@ static inline void record_syscall_return(CPUState *cpu, int 
num, abi_long ret)
      gdb_syscall_return(cpu, num);
  }
+static bool send_through_syscall_filters(CPUState *cpu, int num,
+                                         abi_long arg1, abi_long arg2,
+                                         abi_long arg3, abi_long arg4,
+                                         abi_long arg5, abi_long arg6,
+                                         abi_long arg7, abi_long arg8,
+                                         abi_long *sysret)
+{
+    uint64_t sysret64 = 0;
+    bool filtered = qemu_plugin_vcpu_syscall_filter(cpu, num, arg1, arg2,
+                                                    arg3, arg4, arg5, arg6,
+                                                    arg7, arg8, &sysret64);
+    if (filtered) {
+        *sysret = sysret64;
+    }
+    return filtered;
+}

FreeBSD build failure:

https://gitlab.com/qemu-project/qemu/-/jobs/12906481914

In file included from ../bsd-user/freebsd/os-syscall.c:34:
/tmp/cirrus-ci-build/include/user/syscall-trace.h:42:13: error: unused function 'send_through_syscall_filters' [-Werror,-Wunused-function]
   42 | static bool send_through_syscall_filters(CPUState *cpu, int num,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Why is this in the header anyway? If it really *should* be shared with FreeBSD, then it could just as well live somewhere in plugins/. If it really is linux-specific, then it could just as well live in linux-user/syscall.c.


r~

Reply via email to