On 1/29/26 9:37 AM, Pierrick Bouvier wrote:
The following changes since commit 65fb9de4888f9bf32bc4f60c880da3dff04c4fd9:
Merge tag 'pr-build_fix-20260128' of https://gitlab.com/pbo-linaro/qemu into
staging (2026-01-29 13:29:33 +1100)
are available in the Git repository at:
https://gitlab.com/pbo-linaro/qemu tags/pr-plugins-20260129
for you to fetch changes up to bed25f00d306bbbcc85d068b6469fc00aeecbd11:
plugins: reduce source conflicts in plugins list (2026-01-29 09:34:14 -0800)
----------------------------------------------------------------
Changes:
- contrib/plugins/hotblocks: Minor bug fixes and add limit argument (Alex Bradbury
<[email protected]>)
- linux-user: introduce syscall-filter plugin API (Ziyang Zhang
<[email protected]>)
- plugins: return bool from register r/w API (Florian Hofhammer
<[email protected]>)
- plugins: enable C++ plugins (Pierrick Bouvier <[email protected]>)
- plugins: reduce source conflicts in plugins list (Pierrick Bouvier
<[email protected]>)
----------------------------------------------------------------
Alex Bradbury (5):
contrib/plugins/hotblocks: Correctly free sorted counts list
contrib/plugins/hotblocks: Fix off by one error in iteration of sorted
blocks
contrib/plugins/hotblocks: Print uint64_t with PRIu64 rather than PRId64
docs/about/emulation: Add documentation for hotblocks plugin arguments
contrib/plugins/hotblocks: Allow limit to be set as a command line
argument
Florian Hofhammer (1):
plugins: return bool from register r/w API
Pierrick Bouvier (13):
linux-user: move user/syscall-trace.h to linux-user/syscall.c
plugins: move win32_linker.c file to plugins directory
plugins: factorize plugin dependencies and library details
plugins: use complete filename for defining plugins sources
plugins: define plugin API symbols as extern "C" when compiling in C++
tests/tcg/plugins/mem.c: remove dependency on qemu headers
plugins: move qemu-plugin.h to include/plugins/
meson: fix supported compiler arguments in other languages than C
meson: enable cpp (optionally) for plugins
qga/vss-win32: fix clang warning with C++20
meson: update C++ standard to C++23
contrib/plugins: add empty cpp plugin
plugins: reduce source conflicts in plugins list
Ziyang Zhang (2):
linux-user: add plugin API to filter syscalls
tcg tests: add a test to verify the syscall filter plugin API
docs/about/emulation.rst | 12 +++
docs/devel/tcg-plugins.rst | 4 +-
meson.build | 26 ++---
include/{qemu => plugins}/qemu-plugin.h | 62 +++++++++---
include/qemu/plugin-event.h | 1 +
include/qemu/plugin.h | 35 +++++--
include/user/syscall-trace.h | 43 --------
bsd-user/freebsd/os-syscall.c | 1 -
contrib/plugins/execlog.c | 14 +--
contrib/plugins/hotblocks.c | 20 ++--
contrib/plugins/uftrace.c | 8 +-
linux-user/syscall.c | 44 ++++++++-
plugins/api.c | 36 ++++---
plugins/core.c | 39 +++++++-
{contrib/plugins => plugins}/win32_linker.c | 0
tests/tcg/multiarch/test-plugin-syscall-filter.c | 39 ++++++++
tests/tcg/plugins/insn.c | 4 +-
tests/tcg/plugins/mem.c | 59 +++++------
tests/tcg/plugins/syscall.c | 19 ++++
contrib/plugins/cpp.cpp | 119 +++++++++++++++++++++++
contrib/plugins/meson.build | 38 +++++---
plugins/meson.build | 17 +++-
qga/vss-win32/requester.cpp | 6 +-
tests/tcg/multiarch/Makefile.target | 7 +-
tests/tcg/plugins/meson.build | 27 ++---
25 files changed, 497 insertions(+), 183 deletions(-)
rename include/{qemu => plugins}/qemu-plugin.h (95%)
delete mode 100644 include/user/syscall-trace.h
rename {contrib/plugins => plugins}/win32_linker.c (100%)
create mode 100644 tests/tcg/multiarch/test-plugin-syscall-filter.c
create mode 100644 contrib/plugins/cpp.cpp
v2
--
- Delete syscall-trace header and move functions to linux-user/syscall.c
Note: There is a regression upstream with native windows builds where:
$ ./configure
Looking in links: file://C:/GitLab-Runner/builds/qemu/python/wheels
WARNING: Location 'file://C:/GitLab-Runner/builds/qemu/python/wheels' is
ignored: it is neither a file nor a directory.
ERROR: Could not find a version that satisfies the requirement
meson==1.10.0 (from versions: none)
This is not related to this series, and seems like an MSYS bug. It can
be avoiding by *not* updating core packages (pacman -Syu). Hopefully
will be solved upstream before updating becomes mandatory.
This series has been tested on Windows with changes described above and
it works as expected.
Regards,
Pierrick