mbox series

[v3,0/6] Enable plugin support on msys2/mingw

Message ID 20201001163429.1348-1-luoyonggang@gmail.com
Headers show
Series Enable plugin support on msys2/mingw | expand

Message

Yonggang Luo Oct. 1, 2020, 4:34 p.m. UTC
V2-V3
Split following patches out

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 (6):
  plugins: Fixes a issue when dlsym failed, the handle not closed
  plugin: Fixes compiling errors on msys2/mingw
  cirrus: Enable plugin in cirrus for windows
  plugin: define QEMU_PLUGIN_API_IMPLEMENTATION first
  plugin: getting qemu_plugin_get_hwaddr only expose one function
    prototype
  plugin: Getting qemu-plugin works under win32.

 .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                |  71 +++++++------
 plugins/core.c               |  11 +-
 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, 262 insertions(+), 214 deletions(-)
 delete mode 100644 plugins/qemu-plugins.symbols

--=20
2.28.0.windows.1

Comments

Alex Bennée Oct. 6, 2020, 11:35 a.m. UTC | #1
Yonggang Luo <luoyonggang@gmail.com> writes:

> V2-V3
> Split following patches out
>
> 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.

I've grabbed the first two fixes into plugins/next for now. Aside from
fixing the review comments I'd like to have an indication that the
proposed change to the API linking doesn't adversely affect the
performance of the plugins.

It might be worth enabling a --enable-plugins build for mingw gitlab as Cirrus
seems a bit broken at the moment.

Thanks,
Yonggang Luo Jan. 27, 2021, 3:52 a.m. UTC | #2
Hi alex, when does plugins/next getting PR

On Tue, Oct 6, 2020 at 7:35 PM Alex Bennée <alex.bennee@linaro.org> wrote:

>
> Yonggang Luo <luoyonggang@gmail.com> writes:
>
> > V2-V3
> > Split following patches out
> >
> > 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.
>
> I've grabbed the first two fixes into plugins/next for now. Aside from
> fixing the review comments I'd like to have an indication that the
> proposed change to the API linking doesn't adversely affect the
> performance of the plugins.
>
> It might be worth enabling a --enable-plugins build for mingw gitlab as
> Cirrus
> seems a bit broken at the moment.
>
> Thanks,
>
>
> --
> Alex Bennée
>
Alex Bennée Feb. 10, 2021, 3:10 p.m. UTC | #3
罗勇刚(Yonggang Luo) <luoyonggang@gmail.com> writes:

> Hi alex, when does plugins/next getting PR

Sorry for the delay. I should be cooking up a pre-PR series this week
once the recent icount/io_recompile fix has been tested and reviewed.
You can see the current state of the tree here:

  https://github.com/stsquad/qemu/tree/plugins/next

I'm afraid I've dropped the ball on your plugin patches... I can't seem
to find the v5 series referenced.

>
> On Tue, Oct 6, 2020 at 7:35 PM Alex Bennée <alex.bennee@linaro.org> wrote:
>
>>
>> Yonggang Luo <luoyonggang@gmail.com> writes:
>>
>> > V2-V3
>> > Split following patches out
>> >
>> > 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.
>>
>> I've grabbed the first two fixes into plugins/next for now. Aside from
>> fixing the review comments I'd like to have an indication that the
>> proposed change to the API linking doesn't adversely affect the
>> performance of the plugins.
>>
>> It might be worth enabling a --enable-plugins build for mingw gitlab as
>> Cirrus
>> seems a bit broken at the moment.
>>
>> Thanks,
>>
>>
>> --
>> Alex Bennée
>>