diff mbox series

stubs: Move qemu_timer_notify_cb() and remove qemu_notify_event() stub

Message ID 20200902102433.304737-1-thuth@redhat.com
State New
Headers show
Series stubs: Move qemu_timer_notify_cb() and remove qemu_notify_event() stub | expand

Commit Message

Thomas Huth Sept. 2, 2020, 10:24 a.m. UTC
When cross-compiling with MinGW, there are sometimes some weird linker
errors like:

ibqemuutil.a(util_main-loop.c.obj): In function `qemu_notify_event':
/builds/huth/qemu/build/../util/main-loop.c:139: multiple definition of
 `qemu_notify_event'
libqemuutil.a(stubs_notify-event.c.obj):/builds/huth/qemu/stubs/notify-event.c:5:
 first defined here
collect2: error: ld returned 1 exit status
/builds/huth/qemu/rules.mak:88: recipe for target 'tests/test-timed-average.exe'
 failed

It seems like it works better when the qemu_timer_notify_cb() stub (which
calls qemu_notify_event()) is in a separate file - then we can also even
remove the qemu_notify_event() stub now.

This patch is based on ideas from the patch "stubs: Remove qemu_notify_event()"
by Philippe Mathieu-Daudé and the patch "cpu-timers, icount: new modules" from
Claudio Fontana.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 stubs/cpu-get-icount.c       | 5 -----
 stubs/meson.build            | 2 +-
 stubs/notify-event.c         | 6 ------
 stubs/qemu-timer-notify-cb.c | 8 ++++++++
 4 files changed, 9 insertions(+), 12 deletions(-)
 delete mode 100644 stubs/notify-event.c
 create mode 100644 stubs/qemu-timer-notify-cb.c

Comments

Paolo Bonzini Sept. 2, 2020, 10:32 a.m. UTC | #1
On 02/09/20 12:24, Thomas Huth wrote:
> When cross-compiling with MinGW, there are sometimes some weird linker
> errors like:
> 
> ibqemuutil.a(util_main-loop.c.obj): In function `qemu_notify_event':
> /builds/huth/qemu/build/../util/main-loop.c:139: multiple definition of
>  `qemu_notify_event'
> libqemuutil.a(stubs_notify-event.c.obj):/builds/huth/qemu/stubs/notify-event.c:5:
>  first defined here
> collect2: error: ld returned 1 exit status
> /builds/huth/qemu/rules.mak:88: recipe for target 'tests/test-timed-average.exe'
>  failed
> 
> It seems like it works better when the qemu_timer_notify_cb() stub (which
> calls qemu_notify_event()) is in a separate file - then we can also even
> remove the qemu_notify_event() stub now.
> 
> This patch is based on ideas from the patch "stubs: Remove qemu_notify_event()"
> by Philippe Mathieu-Daudé and the patch "cpu-timers, icount: new modules" from
> Claudio Fontana.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  stubs/cpu-get-icount.c       | 5 -----
>  stubs/meson.build            | 2 +-
>  stubs/notify-event.c         | 6 ------
>  stubs/qemu-timer-notify-cb.c | 8 ++++++++
>  4 files changed, 9 insertions(+), 12 deletions(-)
>  delete mode 100644 stubs/notify-event.c
>  create mode 100644 stubs/qemu-timer-notify-cb.c
> 
> diff --git a/stubs/cpu-get-icount.c b/stubs/cpu-get-icount.c
> index b35f844638..4001613240 100644
> --- a/stubs/cpu-get-icount.c
> +++ b/stubs/cpu-get-icount.c
> @@ -14,8 +14,3 @@ int64_t cpu_get_icount_raw(void)
>  {
>      abort();
>  }
> -
> -void qemu_timer_notify_cb(void *opaque, QEMUClockType type)
> -{
> -    qemu_notify_event();
> -}
> diff --git a/stubs/meson.build b/stubs/meson.build
> index 019bd79c7a..e2dfedc2a7 100644
> --- a/stubs/meson.build
> +++ b/stubs/meson.build
> @@ -24,9 +24,9 @@ stub_ss.add(files('machine-init-done.c'))
>  stub_ss.add(files('migr-blocker.c'))
>  stub_ss.add(files('monitor.c'))
>  stub_ss.add(files('monitor-core.c'))
> -stub_ss.add(files('notify-event.c'))
>  stub_ss.add(files('pci-bus.c'))
>  stub_ss.add(files('pci-host-piix.c'))
> +stub_ss.add(files('qemu-timer-notify-cb.c'))
>  stub_ss.add(files('qmp_memory_device.c'))
>  stub_ss.add(files('qtest.c'))
>  stub_ss.add(files('ram-block.c'))
> diff --git a/stubs/notify-event.c b/stubs/notify-event.c
> deleted file mode 100644
> index 827bb52d1a..0000000000
> --- a/stubs/notify-event.c
> +++ /dev/null
> @@ -1,6 +0,0 @@
> -#include "qemu/osdep.h"
> -#include "qemu/main-loop.h"
> -
> -void qemu_notify_event(void)
> -{
> -}
> diff --git a/stubs/qemu-timer-notify-cb.c b/stubs/qemu-timer-notify-cb.c
> new file mode 100644
> index 0000000000..054b408b1c
> --- /dev/null
> +++ b/stubs/qemu-timer-notify-cb.c
> @@ -0,0 +1,8 @@
> +#include "qemu/osdep.h"
> +#include "sysemu/cpus.h"
> +#include "qemu/main-loop.h"
> +
> +void qemu_timer_notify_cb(void *opaque, QEMUClockType type)
> +{
> +    qemu_notify_event();
> +}
> 

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox series

Patch

diff --git a/stubs/cpu-get-icount.c b/stubs/cpu-get-icount.c
index b35f844638..4001613240 100644
--- a/stubs/cpu-get-icount.c
+++ b/stubs/cpu-get-icount.c
@@ -14,8 +14,3 @@  int64_t cpu_get_icount_raw(void)
 {
     abort();
 }
-
-void qemu_timer_notify_cb(void *opaque, QEMUClockType type)
-{
-    qemu_notify_event();
-}
diff --git a/stubs/meson.build b/stubs/meson.build
index 019bd79c7a..e2dfedc2a7 100644
--- a/stubs/meson.build
+++ b/stubs/meson.build
@@ -24,9 +24,9 @@  stub_ss.add(files('machine-init-done.c'))
 stub_ss.add(files('migr-blocker.c'))
 stub_ss.add(files('monitor.c'))
 stub_ss.add(files('monitor-core.c'))
-stub_ss.add(files('notify-event.c'))
 stub_ss.add(files('pci-bus.c'))
 stub_ss.add(files('pci-host-piix.c'))
+stub_ss.add(files('qemu-timer-notify-cb.c'))
 stub_ss.add(files('qmp_memory_device.c'))
 stub_ss.add(files('qtest.c'))
 stub_ss.add(files('ram-block.c'))
diff --git a/stubs/notify-event.c b/stubs/notify-event.c
deleted file mode 100644
index 827bb52d1a..0000000000
--- a/stubs/notify-event.c
+++ /dev/null
@@ -1,6 +0,0 @@ 
-#include "qemu/osdep.h"
-#include "qemu/main-loop.h"
-
-void qemu_notify_event(void)
-{
-}
diff --git a/stubs/qemu-timer-notify-cb.c b/stubs/qemu-timer-notify-cb.c
new file mode 100644
index 0000000000..054b408b1c
--- /dev/null
+++ b/stubs/qemu-timer-notify-cb.c
@@ -0,0 +1,8 @@ 
+#include "qemu/osdep.h"
+#include "sysemu/cpus.h"
+#include "qemu/main-loop.h"
+
+void qemu_timer_notify_cb(void *opaque, QEMUClockType type)
+{
+    qemu_notify_event();
+}