On 8/1/26 11:53, Daniel P. Berrangé wrote:
On Thu, Jan 08, 2026 at 11:51:00AM +0100, Philippe Mathieu-Daudé wrote:
On 8/1/26 10:11, Daniel P. Berrangé wrote:
On Wed, Jan 07, 2026 at 07:05:19PM +0100, Philippe Mathieu-Daudé wrote:
Rather than compiling the same content for all targets (unused
most of the time, i.e. qemu-system-avr ...), build it once per
POSIX hosts. Check Windows host (less likely) before x86 host.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
   dump/win_dump-stubs.c | 21 +++++++++++++++++++++
   dump/win_dump.c       | 12 ++++++++----
   dump/meson.build      |  6 +++++-
   3 files changed, 34 insertions(+), 5 deletions(-)
   create mode 100644 dump/win_dump-stubs.c

snip

diff --git a/dump/meson.build b/dump/meson.build
index 4277ce9328a..0aaf3f65d9c 100644
--- a/dump/meson.build
+++ b/dump/meson.build
@@ -1,2 +1,6 @@
   system_ss.add([files('dump.c', 'dump-hmp-cmds.c'), snappy, lzo])
-specific_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: files('win_dump.c'))
+if host_os == 'windows'
+  system_ss.add(files('win_dump.c'))
+else
+  system_ss.add(files('win_dump-stubs.c'))
+endif

This is very wrong.

The win_dump.c  file has no association with Windows hosts. It is about
creating crash dumps of Windows *guests* in the Windows dump format. The
current conditional which builds it on TARGET_X86_64 is correct.

Great to know this is a *guest* feature and not a *host* one.

Something else is currently wrong, because this file is built with
qemu-system-avr on macOS.

Why is that a problem ?

Single binary can not be linked because each target has these same symbols.

The entire file content is surrounded with

   #if defined(TARGET_X86_64)
   ...the impl...
   #else
   ...stubs...
   #endif

soo qemu-system-avr will be building the stubs which is fine. macOS
is not a factor, since QEMU is fine to emulate Windows guests on
macOS hosts and thus Win dump is in scope for macOS

With regards,
Daniel


Reply via email to