On 8/1/26 12:36, Daniel P. Berrangé wrote:
On Thu, Jan 08, 2026 at 12:14:30PM +0100, Philippe Mathieu-Daudé wrote:
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.

So we need a make 'win_dump_available()' into a runtime check against
the current target == x86, and then unconditionally build the rest of
the file ? How do we provide access to target specific types in such
builds as merely removing the #ifdef shows missing X86CPU / CPUX86State
types for most targets.

I went with using a new Kconfig symbol in v2, see:
http://lore.kernel.org/qemu-devel/[email protected]/

Reply via email to