stubs/meson.build | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
qapi_event_send_device_deleted is always included (together with the
rest of QAPI) in libqemuutil.a if either system-mode emulation or tools
are being built, and in that case the stub causes a duplicate symbol
to appear in libqemuutil.a.
Add the symbol only if events are not being requested.
Supersedes: <20241018143334.949045-1-pbonzini@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
v1 fails to build with --disable-system --disable-tools, which I
have now noticed in CI.
stubs/meson.build | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/stubs/meson.build b/stubs/meson.build
index 772a3e817df..e91614a874d 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -55,7 +55,12 @@ endif
if have_user
# Symbols that are used by hw/core.
stub_ss.add(files('cpu-synchronize-state.c'))
- stub_ss.add(files('qdev.c'))
+
+ # Stubs for QAPI events. Those can always be included in the build, but
+ # they are not built at all for --disable-system --disable-tools builds.
+ if not (have_system or have_tools)
+ stub_ss.add(files('qdev.c'))
+ endif
endif
if have_system
--
2.46.2
On 21/10/24 13:34, Paolo Bonzini wrote:
> qapi_event_send_device_deleted is always included (together with the
> rest of QAPI) in libqemuutil.a if either system-mode emulation or tools
> are being built, and in that case the stub causes a duplicate symbol
> to appear in libqemuutil.a.
>
> Add the symbol only if events are not being requested.
>
> Supersedes: <20241018143334.949045-1-pbonzini@redhat.com>
strip ^
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> v1 fails to build with --disable-system --disable-tools, which I
> have now noticed in CI.
>
> stubs/meson.build | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/stubs/meson.build b/stubs/meson.build
> index 772a3e817df..e91614a874d 100644
> --- a/stubs/meson.build
> +++ b/stubs/meson.build
> @@ -55,7 +55,12 @@ endif
> if have_user
> # Symbols that are used by hw/core.
> stub_ss.add(files('cpu-synchronize-state.c'))
> - stub_ss.add(files('qdev.c'))
> +
> + # Stubs for QAPI events. Those can always be included in the build, but
> + # they are not built at all for --disable-system --disable-tools builds.
> + if not (have_system or have_tools)
> + stub_ss.add(files('qdev.c'))
> + endif
> endif
>
> if have_system
Paolo Bonzini <pbonzini@redhat.com> writes: > qapi_event_send_device_deleted is always included (together with the > rest of QAPI) in libqemuutil.a if either system-mode emulation or tools > are being built, and in that case the stub causes a duplicate symbol > to appear in libqemuutil.a. > > Add the symbol only if events are not being requested. > > Supersedes: <20241018143334.949045-1-pbonzini@redhat.com> > Cc: qemu-stable@nongnu.org > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Alex Bennée <alex.bennee@linaro.org> (with all the other binggen/rustc fixes in my tree) -- Alex Bennée Virtualisation Tech Lead @ Linaro
© 2016 - 2026 Red Hat, Inc.