[PATCH v5 0/7] Enable plugin support on msys2/mingw

Yonggang Luo posted 7 patches 3 years, 7 months ago
Test docker-quick@centos7 failed
Test docker-mingw@fedora failed
Test checkpatch failed
Test FreeBSD failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20201006120900.1579-1-luoyonggang@gmail.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Ed Maste <emaste@freebsd.org>, Li-Wen Hsu <lwhsu@freebsd.org>
There is a newer version of this series
.cirrus.yml                  |   3 +-
Makefile                     |   1 -
configure                    |  71 -------------
contrib/plugins/hotblocks.c  |   3 +-
contrib/plugins/hotpages.c   |   1 +
contrib/plugins/howvec.c     |   1 +
contrib/plugins/lockstep.c   |   1 +
include/qemu/qemu-plugin.h   | 197 +++++++++++++++++++++++++++--------
meson.build                  |   6 +-
plugins/api.c                |  76 +++++++-------
plugins/core.c               |  16 ++-
plugins/loader.c             |  51 ++++++++-
plugins/meson.build          |  10 +-
plugins/plugin.h             |   1 +
plugins/qemu-plugins.symbols |  40 -------
tests/plugin/bb.c            |   5 +-
tests/plugin/empty.c         |   1 +
tests/plugin/insn.c          |   1 +
tests/plugin/mem.c           |   1 +
19 files changed, 272 insertions(+), 214 deletions(-)
delete mode 100644 plugins/qemu-plugins.symbols
[PATCH v5 0/7] Enable plugin support on msys2/mingw
Posted by Yonggang Luo 3 years, 7 months ago
V3-V4
Split  plugin: Fixes typo in qemu-plugin.h out
Trying to explain the design of
plugin: Getting qemu-plugin works under win32.

V1-V2
1. Fixes review comments
2. Increase QEMU_PLUGIN_VERSION to 1 for compat  QEMU_PLUGIN_VERSION 0
3. Revise the loader to support for version 0 and 1
4. By export function qemu_plugin_initialize in plugin, and call it in loader=
, so
  we have no need call it in every plugin. And also provide a standard implem=
entation,
  anyway, use can also override it.

Add this feature on msys2/mingw by using glib provided cross-platform dlsym f=
unctional.

Yonggang Luo (7):
  plugins: Fixes a issue when dlsym failed, the handle not closed
  plugin: Fixes compiling errors on msys2/mingw
  plugin: getting qemu_plugin_get_hwaddr only expose one function
    prototype
  plugin: Fixes typo in qemu-plugin.h
  plugin: Getting qemu-plugin works under win32.
  plugin: Getting qemu-plugin.h can be included in multiple source file
  cirrus: Enable plugin in cirrus for windows

 .cirrus.yml                  |   3 +-
 Makefile                     |   1 -
 configure                    |  71 -------------
 contrib/plugins/hotblocks.c  |   3 +-
 contrib/plugins/hotpages.c   |   1 +
 contrib/plugins/howvec.c     |   1 +
 contrib/plugins/lockstep.c   |   1 +
 include/qemu/qemu-plugin.h   | 197 +++++++++++++++++++++++++++--------
 meson.build                  |   6 +-
 plugins/api.c                |  76 +++++++-------
 plugins/core.c               |  16 ++-
 plugins/loader.c             |  51 ++++++++-
 plugins/meson.build          |  10 +-
 plugins/plugin.h             |   1 +
 plugins/qemu-plugins.symbols |  40 -------
 tests/plugin/bb.c            |   5 +-
 tests/plugin/empty.c         |   1 +
 tests/plugin/insn.c          |   1 +
 tests/plugin/mem.c           |   1 +
 19 files changed, 272 insertions(+), 214 deletions(-)
 delete mode 100644 plugins/qemu-plugins.symbols

--=20
2.28.0.windows.1