mbox series

[v4,0/3] plugins: generate list of symbols automatically

Message ID 20241112212622.3590693-1-pierrick.bouvier@linaro.org
Headers show
Series plugins: generate list of symbols automatically | expand

Message

Pierrick Bouvier Nov. 12, 2024, 9:26 p.m. UTC
Now that meson build for plugins was merged, we can cleanup another part with
the symbols file.
It has to be kept in sync between the header (qemu-plugin.h) and the symbols
file. This has proved to be error prone and tedious.

We solve this by generating this list from header directly using a python
script. Dependencies are triggered correctly, and the file is regenerated if the
header is modified, as expected.

v4:
fix second patch to apply cleanly on master (was applied from a previous series
to enable windows clang build before).

Pierrick Bouvier (3):
  plugins: add missing export for qemu_plugin_num_vcpus
  plugins: detect qemu plugin API symbols from header
  plugins: eradicate qemu-plugins.symbols static file

 MAINTAINERS                    |  1 +
 include/qemu/qemu-plugin.h     |  1 +
 plugins/meson.build            | 12 +++++--
 plugins/qemu-plugins.symbols   | 59 ----------------------------------
 scripts/qemu-plugin-symbols.py | 45 ++++++++++++++++++++++++++
 5 files changed, 56 insertions(+), 62 deletions(-)
 delete mode 100644 plugins/qemu-plugins.symbols
 create mode 100755 scripts/qemu-plugin-symbols.py

Comments

Pierrick Bouvier Nov. 18, 2024, 9:54 p.m. UTC | #1
On 11/12/24 13:26, Pierrick Bouvier wrote:
> Now that meson build for plugins was merged, we can cleanup another part with
> the symbols file.
> It has to be kept in sync between the header (qemu-plugin.h) and the symbols
> file. This has proved to be error prone and tedious.
> 
> We solve this by generating this list from header directly using a python
> script. Dependencies are triggered correctly, and the file is regenerated if the
> header is modified, as expected.
> 
> v4:
> fix second patch to apply cleanly on master (was applied from a previous series
> to enable windows clang build before).
> 
> Pierrick Bouvier (3):
>    plugins: add missing export for qemu_plugin_num_vcpus
>    plugins: detect qemu plugin API symbols from header
>    plugins: eradicate qemu-plugins.symbols static file
> 
>   MAINTAINERS                    |  1 +
>   include/qemu/qemu-plugin.h     |  1 +
>   plugins/meson.build            | 12 +++++--
>   plugins/qemu-plugins.symbols   | 59 ----------------------------------
>   scripts/qemu-plugin-symbols.py | 45 ++++++++++++++++++++++++++
>   5 files changed, 56 insertions(+), 62 deletions(-)
>   delete mode 100644 plugins/qemu-plugins.symbols
>   create mode 100755 scripts/qemu-plugin-symbols.py
> 

Gentle ping, to hopefully merge this in 9.2.
Alex Bennée Nov. 19, 2024, 2:13 p.m. UTC | #2
Pierrick Bouvier <pierrick.bouvier@linaro.org> writes:

> Now that meson build for plugins was merged, we can cleanup another part with
> the symbols file.
> It has to be kept in sync between the header (qemu-plugin.h) and the symbols
> file. This has proved to be error prone and tedious.
>
> We solve this by generating this list from header directly using a python
> script. Dependencies are triggered correctly, and the file is regenerated if the
> header is modified, as expected.
>
> v4:
> fix second patch to apply cleanly on master (was applied from a previous series
> to enable windows clang build before).

Queued to plugins/next, thanks.

I'm not sure if it meets the criteria for 9.2 post freeze although it
seems pretty safe from looking at it.

>
> Pierrick Bouvier (3):
>   plugins: add missing export for qemu_plugin_num_vcpus
>   plugins: detect qemu plugin API symbols from header
>   plugins: eradicate qemu-plugins.symbols static file
>
>  MAINTAINERS                    |  1 +
>  include/qemu/qemu-plugin.h     |  1 +
>  plugins/meson.build            | 12 +++++--
>  plugins/qemu-plugins.symbols   | 59 ----------------------------------
>  scripts/qemu-plugin-symbols.py | 45 ++++++++++++++++++++++++++
>  5 files changed, 56 insertions(+), 62 deletions(-)
>  delete mode 100644 plugins/qemu-plugins.symbols
>  create mode 100755 scripts/qemu-plugin-symbols.py
Pierrick Bouvier Nov. 19, 2024, 4:55 p.m. UTC | #3
On 11/19/24 06:13, Alex Bennée wrote:
> Pierrick Bouvier <pierrick.bouvier@linaro.org> writes:
> 
>> Now that meson build for plugins was merged, we can cleanup another part with
>> the symbols file.
>> It has to be kept in sync between the header (qemu-plugin.h) and the symbols
>> file. This has proved to be error prone and tedious.
>>
>> We solve this by generating this list from header directly using a python
>> script. Dependencies are triggered correctly, and the file is regenerated if the
>> header is modified, as expected.
>>
>> v4:
>> fix second patch to apply cleanly on master (was applied from a previous series
>> to enable windows clang build before).
> 
> Queued to plugins/next, thanks.
> 
> I'm not sure if it meets the criteria for 9.2 post freeze although it
> seems pretty safe from looking at it.
> 

It is not changing or introducing a new feature, and can be seen as code 
fix. I tested that it built on MacOS, Windows and Linux (including 
executing a plugin) so it should be safe to integrate it.

No worries if you prefer to wait, just wanted to make sure it's in 
before any new plugins API is introduced :)

>>
>> Pierrick Bouvier (3):
>>    plugins: add missing export for qemu_plugin_num_vcpus
>>    plugins: detect qemu plugin API symbols from header
>>    plugins: eradicate qemu-plugins.symbols static file
>>
>>   MAINTAINERS                    |  1 +
>>   include/qemu/qemu-plugin.h     |  1 +
>>   plugins/meson.build            | 12 +++++--
>>   plugins/qemu-plugins.symbols   | 59 ----------------------------------
>>   scripts/qemu-plugin-symbols.py | 45 ++++++++++++++++++++++++++
>>   5 files changed, 56 insertions(+), 62 deletions(-)
>>   delete mode 100644 plugins/qemu-plugins.symbols
>>   create mode 100755 scripts/qemu-plugin-symbols.py
>