qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL v7 000/151] Meson-based build system
@ 2020-08-19 21:32 Paolo Bonzini
  2020-08-19 21:59 ` Eric Blake
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-19 21:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:

  Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)

are available in the Git repository at:

  https://gitlab.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:

  docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)

v6->v7:
* new patch to preserve compatibility symlinks from previous binary locations
* fixed cut-and-paste error in linux-user/mips/meson.build
* preserve compatibility check-block target even if no block tests are defined

----------------------------------------------------------------
New build system.

Missing:
* converting configure tests
* converting unit tests
* converting some remaining parts of the installation

----------------------------------------------------------------
Marc-André Lureau (90):
      optionrom: simplify Makefile
      build-sys hack: ensure target directory is there
      configure: expand path variables for meson configure
      configure: generate Meson cross file
      build-sys hack: link with whole .fa archives
      build-sys: add meson submodule
      meson: enable pie
      meson: use coverage option
      meson: add remaining generated tcg trace helpers
      meson: add version.o
      contrib/vhost-user-input: convert to meson
      contrib/vhost-user-gpu: convert to meson
      contrib/ivshmem: convert to meson
      contrib/elf2dmp: convert to meson
      meson: add macos dependencies
      meson: convert vss-win32
      meson: add msi generation
      meson: add qemu-bridge-helper
      meson: add qemu-keymap
      meson: add qemu-edid
      meson: add virtfs-proxy-helper
      meson: keymap-gen
      meson: generate qemu-version.h
      meson: generate shader headers
      meson: generate hxtool files
      meson: handle edk2 bios and descriptors
      meson: convert qom directory to Meson (tools part)
      meson: convert authz directory to Meson
      meson: convert crypto directory to Meson
      meson: convert io directory to Meson
      meson: convert target/s390x/gen-features.h
      meson: add modules infrastructure
      meson: convert chardev directory to Meson (tools part)
      meson: convert block
      meson: qemu-{img,io,nbd}
      meson: qemu-pr-helper
      meson: convert ui directory to Meson
      meson: convert trace/
      meson: convert dump/
      meson: convert replay directory to Meson
      meson: convert migration directory to Meson
      meson: convert net directory to Meson
      meson: convert backends directory to Meson
      meson: convert fsdev/
      meson: convert disas directory to Meson
      meson: convert qapi-specific to meson
      meson: convert hw/xen
      meson: convert hw/core
      meson: convert hw/smbios
      meson: convert hw/mem
      meson: convert hw/watchdog
      meson: convert hw/virtio
      meson: convert hw/vfio
      meson: convert hw/ssi
      meson: convert hw/sd
      meson: convert hw/scsi
      meson: convert hw/pcmcia
      meson: convert hw/pci-host
      meson: convert hw/pci-bridge
      meson: convert hw/pci
      meson: convert hw/nvram
      meson: convert hw/rdma
      meson: convert hw/net
      meson: convert hw/misc
      meson: convert hw/isa
      meson: convert hw/ipmi
      meson: convert hw/ipack
      meson: convert hw/intc
      meson: convert hw/input
      meson: convert hw/ide
      meson: convert hw/i2c
      meson: convert hw/hyperv
      meson: convert hw/gpio
      meson: convert hw/dma
      meson: convert hw/display
      meson: convert hw/cpu
      meson: convert hw/char
      meson: convert hw/block
      meson: convert hw/audio
      meson: convert hw/adc
      meson: convert hw/acpi
      meson: convert hw/9pfs, cleanup
      meson: convert hw/arch*
      meson: accel
      meson: linux-user
      meson: bsd-user
      meson: cpu-emu
      meson: convert systemtap files
      rules.mak: remove version.o
      meson: convert po/

Paolo Bonzini (60):
      oss-fuzz/build: remove LIB_FUZZING_ENGINE
      trace: switch position of headers to what Meson requires
      meson: rename included C source files to .c.inc
      meson: rename .inc.h files to .h.inc
      tests/vm: do not pollute configure with --efi-aarch64
      tests/vm: check for Python YAML parser in the Makefile
      tests/docker: add test script for static linux-user builds
      nsis: use "make DESTDIR=" instead of "make prefix="
      configure: do not include $(...) variables in config-host.mak
      configure: prepare CFLAGS/CXXFLAGS/LDFLAGS for Meson
      tests/vm: include setuptools
      configure: integrate Meson in the build system
      meson: move summary to meson.build
      meson: add sparse support
      meson: add testsuite Makefile generator
      libqemuutil, qapi, trace: convert to meson
      contrib/libvhost-user: convert to Meson
      tools/virtiofsd: convert to Meson
      contrib/vhost-user-blk: convert to Meson
      vhost-user-scsi: add compatibility for libiscsi 1.9.0
      contrib/vhost-user-scsi: convert to Meson
      contrib/rdmacm-mux: convert to Meson
      meson: add solaris and Haiku libraries
      meson: convert qemu-ga
      meson: convert dummy Windows qga/qemu-ga target
      meson: convert check-decodetree
      meson: convert tests/fp and check-softfloat
      meson: convert check-qapi-schema
      meson: infrastructure for building emulators
      configure, Makefile; remove TOOLS and HELPERS-y variable
      meson: convert chardev directory to Meson (emulator part)
      meson: convert tests/qtest to meson
      meson: convert audio directory to Meson
      meson: convert root directory to Meson
      meson: convert most of softmmu/
      meson: convert common QMP bits for qemu and qemu-storage-daemon
      meson: convert qemu-storage-daemon
      meson: convert hw/semihosting
      meson: convert hw/nubus
      meson: convert hw/usb
      meson: convert hw/tpm
      meson: convert hw/timer
      meson: convert hw/rtc
      meson: target
      meson: plugins
      meson: link emulators without Makefile.target
      configure: place compatibility symlinks in target directories
      remove Makefile.target
      meson: sphinx-build
      docs: automatically track manual dependencies
      meson: build texi doc
      meson: convert check-block
      rules.mak: drop unneeded macros
      meson: replace create-config with meson configure_file
      meson: convert sample plugins
      meson: move SDL and SDL-image detection to meson
      meson: convert VNC and dependent libraries to meson
      meson: avoid unstable module warning with Meson 0.56.0 or newer
      meson: update build-system documentation
      docs: convert build system documentation to rST

Thomas Huth (1):
      pc-bios/s390-ccw: do not use rules.mak

 .editorconfig                                      |    3 +-
 .gitignore                                         |    6 +-
 .gitlab-ci.yml                                     |    6 +-
 .gitmodules                                        |    3 +
 Makefile                                           | 1013 +-------------
 Makefile.objs                                      |  219 +--
 Makefile.target                                    |  287 ----
 accel/Makefile.objs                                |    6 -
 accel/kvm/Makefile.objs                            |    2 -
 accel/kvm/meson.build                              |    5 +
 accel/kvm/trace.h                                  |    1 +
 accel/meson.build                                  |    7 +
 accel/stubs/Makefile.objs                          |    6 -
 accel/stubs/meson.build                            |    6 +
 accel/tcg/Makefile.objs                            |    9 -
 .../{atomic_common.inc.c => atomic_common.c.inc}   |    0
 accel/tcg/cputlb.c                                 |    4 +-
 accel/tcg/meson.build                              |   15 +
 accel/tcg/trace.h                                  |    1 +
 accel/tcg/user-exec.c                              |    4 +-
 accel/xen/Makefile.objs                            |    1 -
 accel/xen/meson.build                              |    1 +
 audio/Makefile.objs                                |   35 -
 audio/meson.build                                  |   30 +
 audio/trace.h                                      |    1 +
 authz/Makefile.objs                                |    7 -
 authz/meson.build                                  |   19 +
 authz/trace.h                                      |    1 +
 backends/Makefile.objs                             |   23 -
 backends/meson.build                               |   19 +
 backends/tpm/Makefile.objs                         |    4 -
 backends/tpm/meson.build                           |    8 +
 backends/tpm/trace.h                               |    1 +
 backends/trace.h                                   |    1 +
 block.c                                            |    4 +-
 block/Makefile.objs                                |   75 -
 block/meson.build                                  |  115 ++
 block/monitor/Makefile.objs                        |    2 -
 block/monitor/meson.build                          |    2 +
 block/trace.h                                      |    1 +
 bsd-user/Makefile.objs                             |    2 -
 bsd-user/meson.build                               |   10 +
 chardev/Makefile.objs                              |   29 -
 chardev/meson.build                                |   45 +
 chardev/trace.h                                    |    1 +
 configure                                          | 1137 +++++----------
 contrib/elf2dmp/Makefile.objs                      |    4 -
 contrib/elf2dmp/meson.build                        |    5 +
 contrib/gitdm/filetypes.txt                        |    2 +-
 contrib/ivshmem-client/Makefile.objs               |    1 -
 contrib/ivshmem-client/meson.build                 |    4 +
 contrib/ivshmem-server/Makefile.objs               |    1 -
 contrib/ivshmem-server/meson.build                 |    4 +
 contrib/libvhost-user/Makefile.objs                |    1 -
 contrib/libvhost-user/meson.build                  |    3 +
 contrib/rdmacm-mux/Makefile.objs                   |    3 -
 contrib/rdmacm-mux/meson.build                     |    9 +
 contrib/vhost-user-blk/Makefile.objs               |    1 -
 contrib/vhost-user-blk/meson.build                 |    6 +
 contrib/vhost-user-gpu/Makefile.objs               |   10 -
 contrib/vhost-user-gpu/meson.build                 |   13 +
 contrib/vhost-user-input/Makefile.objs             |    1 -
 contrib/vhost-user-input/meson.build               |    5 +
 contrib/vhost-user-scsi/Makefile.objs              |    1 -
 contrib/vhost-user-scsi/meson.build                |    7 +
 contrib/vhost-user-scsi/vhost-user-scsi.c          |    2 +
 crypto/Makefile.objs                               |   43 -
 crypto/meson.build                                 |   63 +
 crypto/trace.h                                     |    1 +
 disas/Makefile.objs                                |   30 -
 disas/libvixl/Makefile.objs                        |    5 -
 disas/libvixl/meson.build                          |    7 +
 disas/meson.build                                  |   27 +
 dma-helpers.c                                      |    2 +-
 docs/conf.py                                       |    2 +-
 docs/devel/blkverify.txt                           |    4 +-
 docs/devel/build-system.rst                        |  500 +++++++
 docs/devel/build-system.txt                        |  519 -------
 docs/devel/index.rst                               |    1 +
 docs/devel/testing.rst                             |   11 +-
 docs/devel/tracing.txt                             |    2 +-
 docs/index.html.in                                 |    4 +-
 docs/interop/live-block-operations.rst             |    4 +-
 docs/interop/qemu-ga-ref.texi                      |    2 +-
 docs/interop/qemu-qmp-ref.texi                     |    2 +-
 docs/meson.build                                   |   73 +
 docs/sphinx/depfile.py                             |   51 +
 dump/Makefile.objs                                 |    3 -
 dump/meson.build                                   |    4 +
 exec.c                                             |    6 +-
 ...specialize.inc.c => softfloat-specialize.c.inc} |    0
 fpu/softfloat.c                                    |    2 +-
 fsdev/Makefile.objs                                |   12 -
 fsdev/meson.build                                  |   18 +
 gdbstub.c                                          |    2 +-
 hw/9pfs/Kconfig                                    |    4 +
 hw/9pfs/Makefile.objs                              |    9 -
 hw/9pfs/meson.build                                |   20 +
 hw/9pfs/trace.h                                    |    1 +
 hw/Makefile.objs                                   |   48 -
 hw/acpi/Makefile.objs                              |   26 -
 hw/acpi/meson.build                                |   25 +
 hw/acpi/trace.h                                    |    1 +
 hw/adc/Makefile.objs                               |    1 -
 hw/adc/meson.build                                 |    1 +
 hw/alpha/Makefile.objs                             |    1 -
 hw/alpha/meson.build                               |    8 +
 hw/alpha/trace.h                                   |    1 +
 hw/arm/Makefile.objs                               |   56 -
 hw/arm/meson.build                                 |   59 +
 hw/arm/trace.h                                     |    1 +
 hw/audio/Makefile.objs                             |   18 -
 hw/audio/meson.build                               |   14 +
 hw/audio/trace.h                                   |    1 +
 hw/avr/Makefile.objs                               |    3 -
 hw/avr/meson.build                                 |    6 +
 hw/block/Makefile.objs                             |   18 -
 hw/block/dataplane/Makefile.objs                   |    2 -
 hw/block/dataplane/meson.build                     |    2 +
 hw/block/dataplane/trace.h                         |    1 +
 hw/block/meson.build                               |   21 +
 hw/block/trace.h                                   |    1 +
 hw/char/Makefile.objs                              |   39 -
 hw/char/meson.build                                |   38 +
 hw/char/trace.h                                    |    1 +
 hw/core/Makefile.objs                              |   34 -
 hw/core/cpu.c                                      |    2 +-
 hw/core/meson.build                                |   49 +
 hw/core/trace.h                                    |    1 +
 hw/cpu/Makefile.objs                               |    5 -
 hw/cpu/meson.build                                 |    6 +
 hw/cris/Makefile.objs                              |    2 -
 hw/cris/meson.build                                |    5 +
 hw/display/Makefile.objs                           |   65 -
 hw/display/meson.build                             |   84 ++
 hw/display/trace.h                                 |    1 +
 hw/dma/Makefile.objs                               |   16 -
 hw/dma/meson.build                                 |   15 +
 hw/dma/trace.h                                     |    1 +
 hw/gpio/Makefile.objs                              |   12 -
 hw/gpio/meson.build                                |   12 +
 hw/gpio/trace.h                                    |    1 +
 hw/hppa/Makefile.objs                              |    1 -
 hw/hppa/meson.build                                |    4 +
 hw/hppa/trace.h                                    |    1 +
 hw/hyperv/Makefile.objs                            |    3 -
 hw/hyperv/meson.build                              |    3 +
 hw/hyperv/trace.h                                  |    1 +
 hw/i2c/Makefile.objs                               |   14 -
 hw/i2c/meson.build                                 |   16 +
 hw/i2c/trace.h                                     |    1 +
 hw/i386/Makefile.objs                              |   20 -
 hw/i386/fw_cfg.c                                   |    2 +-
 hw/i386/kvm/Makefile.objs                          |    5 -
 hw/i386/kvm/meson.build                            |    8 +
 hw/i386/meson.build                                |   32 +
 hw/i386/pc.c                                       |    2 +-
 hw/i386/pc_piix.c                                  |    2 +-
 hw/i386/trace.h                                    |    1 +
 hw/i386/x86.c                                      |    2 +-
 hw/i386/xen/Makefile.objs                          |    1 -
 hw/i386/xen/meson.build                            |    7 +
 hw/i386/xen/trace.h                                |    1 +
 hw/ide/Makefile.objs                               |   14 -
 hw/ide/meson.build                                 |   14 +
 hw/ide/trace.h                                     |    1 +
 hw/input/Makefile.objs                             |   18 -
 hw/input/meson.build                               |   18 +
 hw/input/trace.h                                   |    1 +
 hw/intc/Makefile.objs                              |   54 -
 hw/intc/meson.build                                |   55 +
 hw/intc/trace.h                                    |    1 +
 hw/ipack/Makefile.objs                             |    2 -
 hw/ipack/meson.build                               |    1 +
 hw/ipmi/Makefile.objs                              |    8 -
 hw/ipmi/meson.build                                |   11 +
 hw/isa/Makefile.objs                               |   11 -
 hw/isa/meson.build                                 |   11 +
 hw/isa/trace.h                                     |    1 +
 hw/lm32/Makefile.objs                              |    3 -
 hw/lm32/meson.build                                |    6 +
 hw/m68k/Makefile.objs                              |    4 -
 hw/m68k/meson.build                                |    7 +
 hw/mem/Kconfig                                     |    1 +
 hw/mem/Makefile.objs                               |    3 -
 hw/mem/meson.build                                 |    6 +
 hw/mem/trace.h                                     |    1 +
 hw/meson.build                                     |   67 +
 hw/microblaze/Makefile.objs                        |    4 -
 hw/microblaze/meson.build                          |    7 +
 hw/mips/Makefile.objs                              |    8 -
 hw/mips/meson.build                                |   11 +
 hw/mips/trace.h                                    |    1 +
 hw/misc/Makefile.objs                              |   95 --
 hw/misc/macio/Makefile.objs                        |    5 -
 hw/misc/macio/meson.build                          |    8 +
 hw/misc/macio/trace.h                              |    1 +
 hw/misc/meson.build                                |   99 ++
 hw/misc/trace.h                                    |    1 +
 hw/moxie/Makefile.objs                             |    2 -
 hw/moxie/meson.build                               |    4 +
 hw/net/Makefile.objs                               |   59 -
 hw/net/can/Makefile.objs                           |    4 -
 hw/net/can/meson.build                             |    4 +
 hw/net/meson.build                                 |   67 +
 hw/net/trace.h                                     |    1 +
 hw/nios2/Makefile.objs                             |    3 -
 hw/nios2/meson.build                               |    6 +
 hw/nubus/Makefile.objs                             |    4 -
 hw/nubus/meson.build                               |    7 +
 hw/nvram/Makefile.objs                             |    8 -
 hw/nvram/meson.build                               |    9 +
 hw/nvram/trace.h                                   |    1 +
 hw/openrisc/Makefile.objs                          |    2 -
 hw/openrisc/meson.build                            |    5 +
 hw/pci-bridge/Makefile.objs                        |   10 -
 hw/pci-bridge/meson.build                          |   14 +
 hw/pci-host/Makefile.objs                          |   24 -
 hw/pci-host/meson.build                            |   31 +
 hw/pci-host/trace.h                                |    1 +
 hw/pci/Makefile.objs                               |   14 -
 hw/pci/meson.build                                 |   19 +
 hw/pci/trace.h                                     |    1 +
 hw/pcmcia/Makefile.objs                            |    2 -
 hw/pcmcia/meson.build                              |    2 +
 hw/ppc/Makefile.objs                               |   35 -
 hw/ppc/meson.build                                 |   80 ++
 hw/ppc/trace.h                                     |    1 +
 hw/rdma/Makefile.objs                              |    3 -
 hw/rdma/meson.build                                |   10 +
 hw/rdma/trace.h                                    |    1 +
 hw/rdma/vmw/trace.h                                |    1 +
 hw/riscv/Makefile.objs                             |   16 -
 hw/riscv/meson.build                               |   19 +
 hw/riscv/trace.h                                   |    1 +
 hw/rtc/Makefile.objs                               |   15 -
 hw/rtc/meson.build                                 |   16 +
 hw/rtc/trace.h                                     |    1 +
 hw/rx/Makefile.objs                                |    2 -
 hw/rx/meson.build                                  |    5 +
 hw/s390x/Makefile.objs                             |   37 -
 hw/s390x/meson.build                               |   46 +
 hw/s390x/trace.h                                   |    1 +
 hw/scsi/Makefile.objs                              |   15 -
 hw/scsi/meson.build                                |   26 +
 hw/scsi/trace.h                                    |    1 +
 hw/sd/Makefile.objs                                |   12 -
 hw/sd/meson.build                                  |   12 +
 hw/sd/trace.h                                      |    1 +
 hw/semihosting/Makefile.objs                       |    2 -
 hw/semihosting/meson.build                         |    4 +
 hw/sh4/Makefile.objs                               |    4 -
 hw/sh4/meson.build                                 |   10 +
 hw/smbios/Makefile.objs                            |   10 -
 hw/smbios/meson.build                              |   13 +
 hw/sparc/Makefile.objs                             |    3 -
 hw/sparc/meson.build                               |    6 +
 hw/sparc/trace.h                                   |    1 +
 hw/sparc64/Makefile.objs                           |    4 -
 hw/sparc64/meson.build                             |    6 +
 hw/sparc64/trace.h                                 |    1 +
 hw/ssi/Makefile.objs                               |   10 -
 hw/ssi/meson.build                                 |    9 +
 hw/ssi/trace.h                                     |    1 +
 hw/timer/Makefile.objs                             |   41 -
 hw/timer/meson.build                               |   37 +
 hw/timer/trace.h                                   |    1 +
 hw/tpm/Makefile.objs                               |    6 -
 hw/tpm/meson.build                                 |    8 +
 hw/tpm/trace.h                                     |    1 +
 hw/tricore/Makefile.objs                           |    1 -
 hw/tricore/meson.build                             |    4 +
 hw/unicore32/Makefile.objs                         |    4 -
 hw/unicore32/meson.build                           |    5 +
 hw/usb/Makefile.objs                               |   71 -
 hw/usb/meson.build                                 |   69 +
 hw/usb/trace.h                                     |    1 +
 hw/vfio/Makefile.objs                              |    8 -
 hw/vfio/meson.build                                |   18 +
 hw/vfio/pci-quirks.c                               |    2 +-
 hw/vfio/trace.h                                    |    1 +
 hw/virtio/Makefile.objs                            |   48 -
 hw/virtio/meson.build                              |   51 +
 hw/virtio/trace.h                                  |    1 +
 hw/virtio/virtio-mem.c                             |    2 +-
 hw/watchdog/Makefile.objs                          |    7 -
 hw/watchdog/meson.build                            |    7 +
 hw/watchdog/trace.h                                |    1 +
 hw/xen/Makefile.objs                               |    7 -
 hw/xen/meson.build                                 |   20 +
 hw/xen/trace.h                                     |    1 +
 hw/xenpv/Makefile.objs                             |    2 -
 hw/xenpv/meson.build                               |    3 +
 hw/xtensa/Makefile.objs                            |    6 -
 hw/xtensa/meson.build                              |   11 +
 include/exec/cpu-all.h                             |   10 +-
 include/exec/memory.h                              |   12 +-
 .../exec/{memory_ldst.inc.h => memory_ldst.h.inc}  |    0
 ..._ldst_cached.inc.h => memory_ldst_cached.h.inc} |    0
 ...mory_ldst_phys.inc.h => memory_ldst_phys.h.inc} |    0
 include/qemu/osdep.h                               |    2 +-
 include/tcg/tcg.h                                  |    2 +-
 include/user/syscall-trace.h                       |    2 +-
 io/Makefile.objs                                   |   12 -
 io/meson.build                                     |   25 +
 io/trace.h                                         |    1 +
 job-qmp.c                                          |    2 +-
 job.c                                              |    2 +-
 libdecnumber/Makefile.objs                         |    5 -
 libdecnumber/meson.build                           |    7 +
 linux-user/Makefile.objs                           |   25 -
 linux-user/alpha/Makefile.objs                     |    5 -
 linux-user/alpha/meson.build                       |    5 +
 linux-user/arm/Makefile.objs                       |    8 -
 linux-user/arm/meson.build                         |   10 +
 linux-user/arm/nwfpe/Makefile.objs                 |    2 -
 linux-user/arm/nwfpe/meson.build                   |   10 +
 linux-user/hppa/Makefile.objs                      |    5 -
 linux-user/hppa/meson.build                        |    5 +
 linux-user/i386/Makefile.objs                      |    5 -
 linux-user/i386/meson.build                        |    5 +
 linux-user/i386/syscall_nr.h                       |    1 +
 linux-user/m68k/Makefile.objs                      |    5 -
 linux-user/m68k/meson.build                        |    5 +
 linux-user/meson.build                             |   37 +
 linux-user/microblaze/Makefile.objs                |    5 -
 linux-user/microblaze/meson.build                  |    5 +
 linux-user/mips/Makefile.objs                      |    5 -
 linux-user/mips/meson.build                        |    6 +
 linux-user/mips/syscall_nr.h                       |    1 +
 linux-user/mips64/Makefile.objs                    |   12 -
 linux-user/mips64/meson.build                      |    6 +
 linux-user/mips64/syscall_nr.h                     |    7 +
 linux-user/ppc/Makefile.objs                       |    6 -
 linux-user/ppc/meson.build                         |    5 +
 linux-user/s390x/Makefile.objs                     |    5 -
 linux-user/s390x/meson.build                       |    5 +
 linux-user/sh4/Makefile.objs                       |    5 -
 linux-user/sh4/meson.build                         |    5 +
 linux-user/sparc/Makefile.objs                     |    5 -
 linux-user/sparc/meson.build                       |    5 +
 linux-user/sparc64/Makefile.objs                   |    5 -
 linux-user/sparc64/meson.build                     |    5 +
 linux-user/trace.h                                 |    1 +
 linux-user/x86_64/Makefile.objs                    |    5 -
 linux-user/x86_64/meson.build                      |    5 +
 linux-user/x86_64/syscall_nr.h                     |    1 +
 linux-user/xtensa/Makefile.objs                    |    5 -
 linux-user/xtensa/meson.build                      |    5 +
 memory_ldst.inc.c => memory_ldst.c.inc             |    0
 meson                                              |    1 +
 meson.build                                        | 1447 ++++++++++++++++++++
 meson_options.txt                                  |    7 +
 migration/Makefile.objs                            |   18 -
 migration/meson.build                              |   40 +
 migration/trace.h                                  |    1 +
 monitor/Makefile.objs                              |    6 -
 monitor/meson.build                                |    9 +
 monitor/trace.h                                    |    1 +
 nbd/Makefile.objs                                  |    1 -
 nbd/meson.build                                    |    5 +
 nbd/trace.h                                        |    1 +
 net/Makefile.objs                                  |   32 -
 net/can/Makefile.objs                              |    2 -
 net/can/meson.build                                |    5 +
 net/meson.build                                    |   40 +
 net/trace.h                                        |    1 +
 os-posix.c                                         |    4 +-
 pc-bios/descriptors/meson.build                    |   14 +
 pc-bios/meson.build                                |   27 +
 pc-bios/optionrom/Makefile                         |   67 +-
 pc-bios/s390-ccw/Makefile                          |   18 +-
 plugins/Makefile.objs                              |   21 -
 plugins/meson.build                                |   13 +
 po/LINGUAS                                         |    8 +
 po/Makefile                                        |   52 -
 po/POTFILES                                        |    1 +
 po/meson.build                                     |    7 +
 po/messages.po                                     |   74 -
 qapi/Makefile.objs                                 |   38 -
 qapi/meson.build                                   |  125 ++
 qapi/trace.h                                       |    1 +
 qga/Makefile.objs                                  |   10 -
 qga/installer/qemu-ga.wxs                          |    2 +-
 qga/meson.build                                    |   87 ++
 qga/vss-win32/Makefile.objs                        |   23 -
 qga/vss-win32/meson.build                          |   36 +
 qobject/Makefile.objs                              |    3 -
 qobject/meson.build                                |    3 +
 qom/Makefile.objs                                  |    5 -
 qom/meson.build                                    |   18 +
 qom/trace.h                                        |    1 +
 replay/Makefile.objs                               |   10 -
 replay/meson.build                                 |   12 +
 rules.mak                                          |  314 +----
 scripts/archive-source.sh                          |    3 +-
 scripts/check_sparse.py                            |   25 +
 scripts/clean-includes                             |    2 +-
 scripts/create_config                              |  129 --
 scripts/decodetree.py                              |    2 +-
 scripts/device-crash-test                          |    2 +-
 scripts/feature_to_c.sh                            |   24 +-
 scripts/grepy.sh                                   |    3 +
 scripts/hxtool                                     |    2 +-
 scripts/minikconf.py                               |    0
 scripts/mtest2make.py                              |  102 ++
 scripts/ninjatool.py                               | 1002 ++++++++++++++
 scripts/oss-fuzz/build.sh                          |   32 +-
 scripts/qapi-gen.py                                |    0
 scripts/qemu-version.sh                            |   25 +
 scripts/tracetool.py                               |    0
 scripts/tracetool/backend/dtrace.py                |    2 +-
 scripts/tracetool/backend/ust.py                   |    6 +-
 scripts/tracetool/format/c.py                      |    5 +-
 scripts/tracetool/format/tcg_h.py                  |    2 +-
 scripts/tracetool/format/tcg_helper_c.py           |    2 +-
 scripts/undefsym.sh                                |   20 +
 scsi/Makefile.objs                                 |    4 -
 scsi/meson.build                                   |    4 +
 scsi/trace.h                                       |    1 +
 softmmu/Makefile.objs                              |   14 -
 softmmu/balloon.c                                  |    2 +-
 softmmu/ioport.c                                   |    2 +-
 softmmu/main.c                                     |    1 +
 softmmu/memory.c                                   |    2 +-
 softmmu/meson.build                                |   10 +
 softmmu/qtest.c                                    |    2 +-
 softmmu/vl.c                                       |    2 +-
 storage-daemon/Makefile.objs                       |    1 -
 storage-daemon/meson.build                         |   14 +
 storage-daemon/qapi/Makefile.objs                  |    1 -
 storage-daemon/qapi/meson.build                    |    7 +
 .../qemu-storage-daemon.c                          |    0
 stubs/Makefile.objs                                |   56 -
 stubs/meson.build                                  |   50 +
 target/alpha/Makefile.objs                         |    4 -
 target/alpha/meson.build                           |   18 +
 target/arm/Makefile.objs                           |   89 --
 target/arm/meson.build                             |   62 +
 target/arm/trace.h                                 |    1 +
 .../{translate-neon.inc.c => translate-neon.c.inc} |    6 +-
 target/arm/translate-sve.c                         |    2 +-
 .../{translate-vfp.inc.c => translate-vfp.c.inc}   |    4 +-
 target/arm/translate.c                             |   12 +-
 target/avr/Makefile.objs                           |   34 -
 target/avr/disas.c                                 |    2 +-
 target/avr/meson.build                             |   20 +
 target/avr/translate.c                             |    2 +-
 target/cris/Makefile.objs                          |    3 -
 target/cris/meson.build                            |   14 +
 target/cris/translate.c                            |    2 +-
 .../{translate_v10.inc.c => translate_v10.c.inc}   |    0
 target/hppa/Makefile.objs                          |   11 -
 target/hppa/meson.build                            |   19 +
 target/hppa/trace.h                                |    1 +
 target/hppa/translate.c                            |    2 +-
 target/i386/Makefile.objs                          |   23 -
 target/i386/hvf/Makefile.objs                      |    2 -
 target/i386/hvf/meson.build                        |   12 +
 target/i386/meson.build                            |   40 +
 target/i386/trace.h                                |    1 +
 target/lm32/Makefile.objs                          |    4 -
 target/lm32/meson.build                            |   15 +
 target/m68k/Makefile.objs                          |    5 -
 target/m68k/meson.build                            |   17 +
 target/meson.build                                 |   23 +
 target/microblaze/Makefile.objs                    |    3 -
 target/microblaze/meson.build                      |   14 +
 target/mips/Makefile.objs                          |    6 -
 target/mips/meson.build                            |   24 +
 target/mips/trace.h                                |    1 +
 target/mips/translate.c                            |    2 +-
 .../{translate_init.inc.c => translate_init.c.inc} |    0
 target/moxie/Makefile.objs                         |    2 -
 target/moxie/meson.build                           |   14 +
 target/nios2/Makefile.objs                         |    4 -
 target/nios2/meson.build                           |   15 +
 target/openrisc/Makefile.objs                      |   15 -
 target/openrisc/disas.c                            |    2 +-
 target/openrisc/meson.build                        |   23 +
 target/openrisc/translate.c                        |    2 +-
 target/ppc/Makefile.objs                           |   20 -
 target/ppc/int_helper.c                            |    2 +-
 target/ppc/meson.build                             |   37 +
 .../ppc/{mfrom_table.inc.c => mfrom_table.c.inc}   |    0
 target/ppc/trace.h                                 |    1 +
 target/ppc/translate.c                             |   22 +-
 .../translate/{dfp-impl.inc.c => dfp-impl.c.inc}   |    0
 .../ppc/translate/{dfp-ops.inc.c => dfp-ops.c.inc} |    0
 .../ppc/translate/{fp-impl.inc.c => fp-impl.c.inc} |    0
 .../ppc/translate/{fp-ops.inc.c => fp-ops.c.inc}   |    0
 .../translate/{spe-impl.inc.c => spe-impl.c.inc}   |    0
 .../ppc/translate/{spe-ops.inc.c => spe-ops.c.inc} |    0
 .../translate/{vmx-impl.inc.c => vmx-impl.c.inc}   |    0
 .../ppc/translate/{vmx-ops.inc.c => vmx-ops.c.inc} |    0
 .../translate/{vsx-impl.inc.c => vsx-impl.c.inc}   |    0
 .../ppc/translate/{vsx-ops.inc.c => vsx-ops.c.inc} |    0
 .../{translate_init.inc.c => translate_init.c.inc} |    0
 target/riscv/Makefile.objs                         |   28 -
 ...ans_privileged.inc.c => trans_privileged.c.inc} |    0
 .../{trans_rva.inc.c => trans_rva.c.inc}           |    0
 .../{trans_rvd.inc.c => trans_rvd.c.inc}           |    0
 .../{trans_rvf.inc.c => trans_rvf.c.inc}           |    0
 .../{trans_rvh.inc.c => trans_rvh.c.inc}           |    0
 .../{trans_rvi.inc.c => trans_rvi.c.inc}           |    0
 .../{trans_rvm.inc.c => trans_rvm.c.inc}           |    0
 .../{trans_rvv.inc.c => trans_rvv.c.inc}           |    0
 target/riscv/meson.build                           |   34 +
 target/riscv/trace.h                               |    1 +
 target/riscv/translate.c                           |   20 +-
 target/rx/Makefile.objs                            |   11 -
 target/rx/disas.c                                  |    2 +-
 target/rx/meson.build                              |   16 +
 target/rx/translate.c                              |    2 +-
 target/s390x/Makefile.objs                         |   30 -
 target/s390x/cpu_features.c                        |    2 +-
 target/s390x/cpu_features.h                        |    2 +-
 target/s390x/cpu_features_def.h                    |    2 +-
 ...u_features_def.inc.h => cpu_features_def.h.inc} |    0
 target/s390x/cpu_models.h                          |    2 +-
 target/s390x/meson.build                           |   62 +
 target/s390x/trace.h                               |    1 +
 target/s390x/translate.c                           |    2 +-
 .../{translate_vx.inc.c => translate_vx.c.inc}     |    0
 target/sh4/Makefile.objs                           |    3 -
 target/sh4/meson.build                             |   14 +
 target/sparc/Makefile.objs                         |    7 -
 target/sparc/meson.build                           |   23 +
 target/sparc/trace.h                               |    1 +
 target/tilegx/Makefile.objs                        |    1 -
 target/tilegx/meson.build                          |   13 +
 target/tricore/Makefile.objs                       |    1 -
 target/tricore/meson.build                         |   15 +
 target/unicore32/Makefile.objs                     |    8 -
 target/unicore32/meson.build                       |   14 +
 target/xtensa/Makefile.objs                        |   16 -
 target/xtensa/core-dc232b.c                        |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-dc233c.c                        |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-de212.c                         |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-fsf.c                           |    2 +-
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-sample_controller.c             |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-test_kc705_be.c                 |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/core-test_mmuhifi_c3.c               |    4 +-
 .../{gdb-config.inc.c => gdb-config.c.inc}         |    0
 .../{xtensa-modules.inc.c => xtensa-modules.c.inc} |    0
 target/xtensa/import_core.sh                       |    8 +-
 target/xtensa/meson.build                          |   30 +
 tcg/README                                         |    2 +-
 tcg/aarch64/{tcg-target.inc.c => tcg-target.c.inc} |    4 +-
 tcg/arm/{tcg-target.inc.c => tcg-target.c.inc}     |    4 +-
 tcg/i386/{tcg-target.inc.c => tcg-target.c.inc}    |    4 +-
 tcg/mips/{tcg-target.inc.c => tcg-target.c.inc}    |    2 +-
 tcg/ppc/{tcg-target.inc.c => tcg-target.c.inc}     |    4 +-
 tcg/riscv/{tcg-target.inc.c => tcg-target.c.inc}   |    4 +-
 tcg/s390/{tcg-target.inc.c => tcg-target.c.inc}    |    4 +-
 tcg/sparc/{tcg-target.inc.c => tcg-target.c.inc}   |    2 +-
 tcg/{tcg-ldst.inc.c => tcg-ldst.c.inc}             |    0
 tcg/{tcg-pool.inc.c => tcg-pool.c.inc}             |    2 +-
 tcg/tcg.c                                          |    6 +-
 tcg/tci/README                                     |    4 +-
 tcg/tci/{tcg-target.inc.c => tcg-target.c.inc}     |    0
 tests/Makefile.include                             |  472 +------
 tests/acceptance/avocado_qemu/__init__.py          |    3 +-
 tests/data/acpi/rebuild-expected-aml.sh            |    2 +-
 tests/docker/test-static                           |   24 +
 tests/fp/Makefile                                  |  600 --------
 tests/fp/fp-test.c                                 |    2 +-
 tests/fp/meson.build                               |  636 +++++++++
 tests/fp/{wrap.inc.c => wrap.c.inc}                |    0
 tests/meson.build                                  |   18 +
 tests/multiboot/run_test.sh                        |    2 +-
 tests/plugin/Makefile                              |   46 -
 tests/plugin/meson.build                           |    7 +
 tests/qapi-schema/meson.build                      |  225 +++
 tests/qemu-iotests/check                           |    6 +-
 tests/qemu-iotests/meson.build                     |   10 +
 tests/qtest/Makefile.include                       |  332 -----
 tests/qtest/ac97-test.c                            |    2 +-
 tests/qtest/acpi-utils.h                           |    2 +-
 tests/qtest/ahci-test.c                            |    2 +-
 tests/qtest/arm-cpu-features.c                     |    2 +-
 tests/qtest/bios-tables-test.c                     |    2 +-
 tests/qtest/boot-order-test.c                      |    2 +-
 tests/qtest/boot-sector.c                          |    2 +-
 tests/qtest/boot-sector.h                          |    2 +-
 tests/qtest/boot-serial-test.c                     |    2 +-
 tests/qtest/cdrom-test.c                           |    2 +-
 tests/qtest/dbus-vmstate-test.c                    |    2 +-
 tests/qtest/device-introspect-test.c               |    2 +-
 tests/qtest/device-plug-test.c                     |    2 +-
 tests/qtest/drive_del-test.c                       |    2 +-
 tests/qtest/ds1338-test.c                          |    2 +-
 tests/qtest/e1000-test.c                           |    2 +-
 tests/qtest/eepro100-test.c                        |    2 +-
 tests/qtest/endianness-test.c                      |    2 +-
 tests/qtest/es1370-test.c                          |    2 +-
 tests/qtest/fuzz/Makefile.include                  |   39 -
 tests/qtest/fuzz/fuzz.c                            |    2 +-
 tests/qtest/fuzz/fuzz.h                            |    2 +-
 tests/qtest/fuzz/i440fx_fuzz.c                     |    6 +-
 tests/qtest/fuzz/meson.build                       |   35 +
 tests/qtest/fuzz/qos_fuzz.c                        |    2 +-
 tests/qtest/fuzz/qtest_wrappers.c                  |    2 +-
 tests/qtest/fuzz/virtio_net_fuzz.c                 |    5 +-
 tests/qtest/fuzz/virtio_scsi_fuzz.c                |    8 +-
 tests/qtest/fw_cfg-test.c                          |    2 +-
 tests/qtest/hd-geo-test.c                          |    2 +-
 tests/qtest/hexloader-test.c                       |    2 +-
 tests/qtest/ide-test.c                             |    2 +-
 tests/qtest/ipoctal232-test.c                      |    2 +-
 tests/qtest/ivshmem-test.c                         |    2 +-
 tests/qtest/libqos/aarch64-xlnx-zcu102-machine.c   |    4 +-
 tests/qtest/libqos/ahci.c                          |    6 +-
 tests/qtest/libqos/ahci.h                          |    6 +-
 tests/qtest/libqos/arm-imx25-pdk-machine.c         |    6 +-
 tests/qtest/libqos/arm-n800-machine.c              |    6 +-
 tests/qtest/libqos/arm-raspi2-machine.c            |    4 +-
 tests/qtest/libqos/arm-sabrelite-machine.c         |    4 +-
 tests/qtest/libqos/arm-smdkc210-machine.c          |    4 +-
 tests/qtest/libqos/arm-virt-machine.c              |    6 +-
 tests/qtest/libqos/arm-xilinx-zynq-a9-machine.c    |    4 +-
 tests/qtest/libqos/e1000e.c                        |    6 +-
 tests/qtest/libqos/e1000e.h                        |    2 +-
 tests/qtest/libqos/fw_cfg.c                        |    2 +-
 tests/qtest/libqos/i2c-imx.c                       |    2 +-
 tests/qtest/libqos/i2c-omap.c                      |    2 +-
 tests/qtest/libqos/i2c.c                           |    2 +-
 tests/qtest/libqos/i2c.h                           |    2 +-
 tests/qtest/libqos/libqos-pc.c                     |    6 +-
 tests/qtest/libqos/libqos-pc.h                     |    2 +-
 tests/qtest/libqos/libqos-spapr.c                  |    6 +-
 tests/qtest/libqos/libqos-spapr.h                  |    2 +-
 tests/qtest/libqos/libqos.c                        |    4 +-
 tests/qtest/libqos/libqos.h                        |    4 +-
 tests/qtest/{ => libqos}/libqtest.h                |    0
 tests/qtest/libqos/malloc-pc.c                     |    4 +-
 tests/qtest/libqos/malloc-pc.h                     |    2 +-
 tests/qtest/libqos/malloc-spapr.c                  |    2 +-
 tests/qtest/libqos/malloc-spapr.h                  |    2 +-
 tests/qtest/libqos/malloc.c                        |    2 +-
 tests/qtest/libqos/meson.build                     |   57 +
 tests/qtest/libqos/pci-pc.c                        |    2 +-
 tests/qtest/libqos/pci-pc.h                        |    6 +-
 tests/qtest/libqos/pci-spapr.c                     |    6 +-
 tests/qtest/libqos/pci-spapr.h                     |    6 +-
 tests/qtest/libqos/pci.c                           |    4 +-
 tests/qtest/libqos/pci.h                           |    2 +-
 tests/qtest/libqos/ppc64_pseries-machine.c         |    4 +-
 tests/qtest/libqos/qgraph.c                        |    4 +-
 tests/qtest/libqos/qgraph.h                        |    8 +-
 tests/qtest/libqos/qgraph_internal.h               |    4 +-
 tests/qtest/libqos/qos_external.c                  |    8 +-
 tests/qtest/libqos/qos_external.h                  |    4 +-
 tests/qtest/libqos/rtas.c                          |    2 +-
 tests/qtest/libqos/rtas.h                          |    2 +-
 tests/qtest/libqos/sdhci.c                         |    2 +-
 tests/qtest/libqos/sdhci.h                         |    2 +-
 tests/qtest/libqos/tpci200.c                       |    4 +-
 tests/qtest/libqos/usb.c                           |    2 +-
 tests/qtest/libqos/usb.h                           |    2 +-
 tests/qtest/libqos/virtio-9p.c                     |    4 +-
 tests/qtest/libqos/virtio-9p.h                     |    6 +-
 tests/qtest/libqos/virtio-balloon.c                |    4 +-
 tests/qtest/libqos/virtio-balloon.h                |    6 +-
 tests/qtest/libqos/virtio-blk.c                    |    4 +-
 tests/qtest/libqos/virtio-blk.h                    |    6 +-
 tests/qtest/libqos/virtio-mmio.c                   |    8 +-
 tests/qtest/libqos/virtio-mmio.h                   |    4 +-
 tests/qtest/libqos/virtio-net.c                    |    4 +-
 tests/qtest/libqos/virtio-net.h                    |    6 +-
 tests/qtest/libqos/virtio-pci.c                    |   14 +-
 tests/qtest/libqos/virtio-pci.h                    |    6 +-
 tests/qtest/libqos/virtio-rng.c                    |    4 +-
 tests/qtest/libqos/virtio-rng.h                    |    6 +-
 tests/qtest/libqos/virtio-scsi.c                   |    4 +-
 tests/qtest/libqos/virtio-scsi.h                   |    6 +-
 tests/qtest/libqos/virtio-serial.c                 |    4 +-
 tests/qtest/libqos/virtio-serial.h                 |    6 +-
 tests/qtest/libqos/virtio.c                        |    2 +-
 tests/qtest/libqos/virtio.h                        |    2 +-
 tests/qtest/libqos/x86_64_pc-machine.c             |    2 +-
 tests/qtest/libqtest-single.h                      |    2 +-
 tests/qtest/libqtest.c                             |    2 +-
 tests/qtest/m48t59-test.c                          |    2 +-
 tests/qtest/machine-none-test.c                    |    2 +-
 tests/qtest/megasas-test.c                         |    2 +-
 tests/qtest/meson.build                            |  257 ++++
 tests/qtest/microbit-test.c                        |    2 +-
 tests/qtest/migration-helpers.h                    |    2 +-
 tests/qtest/migration-test.c                       |    4 +-
 tests/qtest/modules-test.c                         |    2 +-
 tests/qtest/ne2000-test.c                          |    2 +-
 tests/qtest/numa-test.c                            |    2 +-
 tests/qtest/nvme-test.c                            |    2 +-
 tests/qtest/pca9552-test.c                         |    2 +-
 tests/qtest/pci-test.c                             |    2 +-
 tests/qtest/pcnet-test.c                           |    2 +-
 tests/qtest/pflash-cfi02-test.c                    |    2 +-
 tests/qtest/pnv-xscom-test.c                       |    2 +-
 tests/qtest/prom-env-test.c                        |    2 +-
 tests/qtest/pvpanic-test.c                         |    2 +-
 tests/qtest/pxe-test.c                             |    2 +-
 tests/qtest/q35-test.c                             |    2 +-
 tests/qtest/qmp-cmd-test.c                         |    2 +-
 tests/qtest/qmp-test.c                             |    2 +-
 tests/qtest/qom-test.c                             |    2 +-
 tests/qtest/rtas-test.c                            |    4 +-
 tests/qtest/sdhci-test.c                           |    2 +-
 tests/qtest/spapr-phb-test.c                       |    2 +-
 tests/qtest/tco-test.c                             |    2 +-
 tests/qtest/test-filter-mirror.c                   |    2 +-
 tests/qtest/test-filter-redirector.c               |    2 +-
 tests/qtest/test-hmp.c                             |    2 +-
 tests/qtest/tpm-crb-swtpm-test.c                   |    2 +-
 tests/qtest/tpm-tis-device-swtpm-test.c            |    2 +-
 tests/qtest/tpm-tis-swtpm-test.c                   |    2 +-
 tests/qtest/tpm-util.c                             |    2 +-
 tests/qtest/tulip-test.c                           |    2 +-
 tests/qtest/virtio-rng-test.c                      |    2 +-
 tests/qtest/virtio-test.c                          |    2 +-
 tests/qtest/vmgenid-test.c                         |    2 +-
 tests/qtest/vmxnet3-test.c                         |    2 +-
 tests/qtest/wdt_ib700-test.c                       |    2 +-
 tests/tcg/configure.sh                             |    4 +-
 tests/test-qga.c                                   |   10 +-
 tests/test-qgraph.c                                |    5 +-
 tests/vm/Makefile.include                          |    8 +-
 tests/vm/freebsd                                   |    2 +
 tests/vm/netbsd                                    |    2 +
 tests/vm/openbsd                                   |    2 +
 tools/meson.build                                  |   10 +
 tools/virtiofsd/Makefile.objs                      |   12 -
 tools/virtiofsd/meson.build                        |   19 +
 tools/virtiofsd/passthrough_ll.c                   |    2 +-
 .../virtiofsd/{seccomp.c => passthrough_seccomp.c} |    2 +-
 .../virtiofsd/{seccomp.h => passthrough_seccomp.h} |    0
 trace/Makefile.objs                                |   59 -
 trace/control-target.c                             |    2 +-
 trace/control.c                                    |    2 +-
 trace/meson.build                                  |   93 ++
 ui/Makefile.objs                                   |   73 -
 ui/input-keymap.c                                  |   34 +-
 ui/meson.build                                     |  114 ++
 ui/shader.c                                        |    6 +-
 ui/shader/meson.build                              |   15 +
 ui/trace.h                                         |    1 +
 ui/vnc-enc-zrle.c                                  |   22 +-
 ui/{vnc-enc-zrle.inc.c => vnc-enc-zrle.c.inc}      |    0
 util/Makefile.objs                                 |   83 --
 util/meson.build                                   |   78 ++
 util/module.c                                      |    1 -
 util/trace.h                                       |    1 +
 version.texi.in                                    |    2 +
 764 files changed, 9141 insertions(+), 7626 deletions(-)
 delete mode 100644 Makefile.target
 delete mode 100644 accel/Makefile.objs
 delete mode 100644 accel/kvm/Makefile.objs
 create mode 100644 accel/kvm/meson.build
 create mode 100644 accel/kvm/trace.h
 create mode 100644 accel/meson.build
 delete mode 100644 accel/stubs/Makefile.objs
 create mode 100644 accel/stubs/meson.build
 delete mode 100644 accel/tcg/Makefile.objs
 rename accel/tcg/{atomic_common.inc.c => atomic_common.c.inc} (100%)
 create mode 100644 accel/tcg/meson.build
 create mode 100644 accel/tcg/trace.h
 delete mode 100644 accel/xen/Makefile.objs
 create mode 100644 accel/xen/meson.build
 delete mode 100644 audio/Makefile.objs
 create mode 100644 audio/meson.build
 create mode 100644 audio/trace.h
 delete mode 100644 authz/Makefile.objs
 create mode 100644 authz/meson.build
 create mode 100644 authz/trace.h
 delete mode 100644 backends/Makefile.objs
 create mode 100644 backends/meson.build
 delete mode 100644 backends/tpm/Makefile.objs
 create mode 100644 backends/tpm/meson.build
 create mode 100644 backends/tpm/trace.h
 create mode 100644 backends/trace.h
 delete mode 100644 block/Makefile.objs
 create mode 100644 block/meson.build
 delete mode 100644 block/monitor/Makefile.objs
 create mode 100644 block/monitor/meson.build
 create mode 100644 block/trace.h
 delete mode 100644 bsd-user/Makefile.objs
 create mode 100644 bsd-user/meson.build
 delete mode 100644 chardev/Makefile.objs
 create mode 100644 chardev/meson.build
 create mode 100644 chardev/trace.h
 delete mode 100644 contrib/elf2dmp/Makefile.objs
 create mode 100644 contrib/elf2dmp/meson.build
 delete mode 100644 contrib/ivshmem-client/Makefile.objs
 create mode 100644 contrib/ivshmem-client/meson.build
 delete mode 100644 contrib/ivshmem-server/Makefile.objs
 create mode 100644 contrib/ivshmem-server/meson.build
 delete mode 100644 contrib/libvhost-user/Makefile.objs
 create mode 100644 contrib/libvhost-user/meson.build
 delete mode 100644 contrib/rdmacm-mux/Makefile.objs
 create mode 100644 contrib/rdmacm-mux/meson.build
 delete mode 100644 contrib/vhost-user-blk/Makefile.objs
 create mode 100644 contrib/vhost-user-blk/meson.build
 delete mode 100644 contrib/vhost-user-gpu/Makefile.objs
 create mode 100644 contrib/vhost-user-gpu/meson.build
 delete mode 100644 contrib/vhost-user-input/Makefile.objs
 create mode 100644 contrib/vhost-user-input/meson.build
 delete mode 100644 contrib/vhost-user-scsi/Makefile.objs
 create mode 100644 contrib/vhost-user-scsi/meson.build
 delete mode 100644 crypto/Makefile.objs
 create mode 100644 crypto/meson.build
 create mode 100644 crypto/trace.h
 delete mode 100644 disas/Makefile.objs
 delete mode 100644 disas/libvixl/Makefile.objs
 create mode 100644 disas/libvixl/meson.build
 create mode 100644 disas/meson.build
 create mode 100644 docs/devel/build-system.rst
 delete mode 100644 docs/devel/build-system.txt
 create mode 100644 docs/meson.build
 create mode 100644 docs/sphinx/depfile.py
 delete mode 100644 dump/Makefile.objs
 create mode 100644 dump/meson.build
 rename fpu/{softfloat-specialize.inc.c => softfloat-specialize.c.inc} (100%)
 delete mode 100644 fsdev/Makefile.objs
 create mode 100644 fsdev/meson.build
 delete mode 100644 hw/9pfs/Makefile.objs
 create mode 100644 hw/9pfs/meson.build
 create mode 100644 hw/9pfs/trace.h
 delete mode 100644 hw/Makefile.objs
 delete mode 100644 hw/acpi/Makefile.objs
 create mode 100644 hw/acpi/meson.build
 create mode 100644 hw/acpi/trace.h
 delete mode 100644 hw/adc/Makefile.objs
 create mode 100644 hw/adc/meson.build
 delete mode 100644 hw/alpha/Makefile.objs
 create mode 100644 hw/alpha/meson.build
 create mode 100644 hw/alpha/trace.h
 delete mode 100644 hw/arm/Makefile.objs
 create mode 100644 hw/arm/meson.build
 create mode 100644 hw/arm/trace.h
 delete mode 100644 hw/audio/Makefile.objs
 create mode 100644 hw/audio/meson.build
 create mode 100644 hw/audio/trace.h
 delete mode 100644 hw/avr/Makefile.objs
 create mode 100644 hw/avr/meson.build
 delete mode 100644 hw/block/Makefile.objs
 delete mode 100644 hw/block/dataplane/Makefile.objs
 create mode 100644 hw/block/dataplane/meson.build
 create mode 100644 hw/block/dataplane/trace.h
 create mode 100644 hw/block/meson.build
 create mode 100644 hw/block/trace.h
 delete mode 100644 hw/char/Makefile.objs
 create mode 100644 hw/char/meson.build
 create mode 100644 hw/char/trace.h
 delete mode 100644 hw/core/Makefile.objs
 create mode 100644 hw/core/meson.build
 create mode 100644 hw/core/trace.h
 delete mode 100644 hw/cpu/Makefile.objs
 create mode 100644 hw/cpu/meson.build
 delete mode 100644 hw/cris/Makefile.objs
 create mode 100644 hw/cris/meson.build
 delete mode 100644 hw/display/Makefile.objs
 create mode 100644 hw/display/meson.build
 create mode 100644 hw/display/trace.h
 delete mode 100644 hw/dma/Makefile.objs
 create mode 100644 hw/dma/meson.build
 create mode 100644 hw/dma/trace.h
 delete mode 100644 hw/gpio/Makefile.objs
 create mode 100644 hw/gpio/meson.build
 create mode 100644 hw/gpio/trace.h
 delete mode 100644 hw/hppa/Makefile.objs
 create mode 100644 hw/hppa/meson.build
 create mode 100644 hw/hppa/trace.h
 delete mode 100644 hw/hyperv/Makefile.objs
 create mode 100644 hw/hyperv/meson.build
 create mode 100644 hw/hyperv/trace.h
 delete mode 100644 hw/i2c/Makefile.objs
 create mode 100644 hw/i2c/meson.build
 create mode 100644 hw/i2c/trace.h
 delete mode 100644 hw/i386/Makefile.objs
 delete mode 100644 hw/i386/kvm/Makefile.objs
 create mode 100644 hw/i386/kvm/meson.build
 create mode 100644 hw/i386/meson.build
 create mode 100644 hw/i386/trace.h
 delete mode 100644 hw/i386/xen/Makefile.objs
 create mode 100644 hw/i386/xen/meson.build
 create mode 100644 hw/i386/xen/trace.h
 delete mode 100644 hw/ide/Makefile.objs
 create mode 100644 hw/ide/meson.build
 create mode 100644 hw/ide/trace.h
 delete mode 100644 hw/input/Makefile.objs
 create mode 100644 hw/input/meson.build
 create mode 100644 hw/input/trace.h
 delete mode 100644 hw/intc/Makefile.objs
 create mode 100644 hw/intc/meson.build
 create mode 100644 hw/intc/trace.h
 delete mode 100644 hw/ipack/Makefile.objs
 create mode 100644 hw/ipack/meson.build
 delete mode 100644 hw/ipmi/Makefile.objs
 create mode 100644 hw/ipmi/meson.build
 delete mode 100644 hw/isa/Makefile.objs
 create mode 100644 hw/isa/meson.build
 create mode 100644 hw/isa/trace.h
 delete mode 100644 hw/lm32/Makefile.objs
 create mode 100644 hw/lm32/meson.build
 delete mode 100644 hw/m68k/Makefile.objs
 create mode 100644 hw/m68k/meson.build
 delete mode 100644 hw/mem/Makefile.objs
 create mode 100644 hw/mem/meson.build
 create mode 100644 hw/mem/trace.h
 create mode 100644 hw/meson.build
 delete mode 100644 hw/microblaze/Makefile.objs
 create mode 100644 hw/microblaze/meson.build
 delete mode 100644 hw/mips/Makefile.objs
 create mode 100644 hw/mips/meson.build
 create mode 100644 hw/mips/trace.h
 delete mode 100644 hw/misc/Makefile.objs
 delete mode 100644 hw/misc/macio/Makefile.objs
 create mode 100644 hw/misc/macio/meson.build
 create mode 100644 hw/misc/macio/trace.h
 create mode 100644 hw/misc/meson.build
 create mode 100644 hw/misc/trace.h
 delete mode 100644 hw/moxie/Makefile.objs
 create mode 100644 hw/moxie/meson.build
 delete mode 100644 hw/net/Makefile.objs
 delete mode 100644 hw/net/can/Makefile.objs
 create mode 100644 hw/net/can/meson.build
 create mode 100644 hw/net/meson.build
 create mode 100644 hw/net/trace.h
 delete mode 100644 hw/nios2/Makefile.objs
 create mode 100644 hw/nios2/meson.build
 delete mode 100644 hw/nubus/Makefile.objs
 create mode 100644 hw/nubus/meson.build
 delete mode 100644 hw/nvram/Makefile.objs
 create mode 100644 hw/nvram/meson.build
 create mode 100644 hw/nvram/trace.h
 delete mode 100644 hw/openrisc/Makefile.objs
 create mode 100644 hw/openrisc/meson.build
 delete mode 100644 hw/pci-bridge/Makefile.objs
 create mode 100644 hw/pci-bridge/meson.build
 delete mode 100644 hw/pci-host/Makefile.objs
 create mode 100644 hw/pci-host/meson.build
 create mode 100644 hw/pci-host/trace.h
 delete mode 100644 hw/pci/Makefile.objs
 create mode 100644 hw/pci/meson.build
 create mode 100644 hw/pci/trace.h
 delete mode 100644 hw/pcmcia/Makefile.objs
 create mode 100644 hw/pcmcia/meson.build
 delete mode 100644 hw/ppc/Makefile.objs
 create mode 100644 hw/ppc/meson.build
 create mode 100644 hw/ppc/trace.h
 delete mode 100644 hw/rdma/Makefile.objs
 create mode 100644 hw/rdma/meson.build
 create mode 100644 hw/rdma/trace.h
 create mode 100644 hw/rdma/vmw/trace.h
 delete mode 100644 hw/riscv/Makefile.objs
 create mode 100644 hw/riscv/meson.build
 create mode 100644 hw/riscv/trace.h
 delete mode 100644 hw/rtc/Makefile.objs
 create mode 100644 hw/rtc/meson.build
 create mode 100644 hw/rtc/trace.h
 delete mode 100644 hw/rx/Makefile.objs
 create mode 100644 hw/rx/meson.build
 delete mode 100644 hw/s390x/Makefile.objs
 create mode 100644 hw/s390x/meson.build
 create mode 100644 hw/s390x/trace.h
 delete mode 100644 hw/scsi/Makefile.objs
 create mode 100644 hw/scsi/meson.build
 create mode 100644 hw/scsi/trace.h
 delete mode 100644 hw/sd/Makefile.objs
 create mode 100644 hw/sd/meson.build
 create mode 100644 hw/sd/trace.h
 delete mode 100644 hw/semihosting/Makefile.objs
 create mode 100644 hw/semihosting/meson.build
 delete mode 100644 hw/sh4/Makefile.objs
 create mode 100644 hw/sh4/meson.build
 delete mode 100644 hw/smbios/Makefile.objs
 create mode 100644 hw/smbios/meson.build
 delete mode 100644 hw/sparc/Makefile.objs
 create mode 100644 hw/sparc/meson.build
 create mode 100644 hw/sparc/trace.h
 delete mode 100644 hw/sparc64/Makefile.objs
 create mode 100644 hw/sparc64/meson.build
 create mode 100644 hw/sparc64/trace.h
 delete mode 100644 hw/ssi/Makefile.objs
 create mode 100644 hw/ssi/meson.build
 create mode 100644 hw/ssi/trace.h
 delete mode 100644 hw/timer/Makefile.objs
 create mode 100644 hw/timer/meson.build
 create mode 100644 hw/timer/trace.h
 delete mode 100644 hw/tpm/Makefile.objs
 create mode 100644 hw/tpm/meson.build
 create mode 100644 hw/tpm/trace.h
 delete mode 100644 hw/tricore/Makefile.objs
 create mode 100644 hw/tricore/meson.build
 delete mode 100644 hw/unicore32/Makefile.objs
 create mode 100644 hw/unicore32/meson.build
 delete mode 100644 hw/usb/Makefile.objs
 create mode 100644 hw/usb/meson.build
 create mode 100644 hw/usb/trace.h
 delete mode 100644 hw/vfio/Makefile.objs
 create mode 100644 hw/vfio/meson.build
 create mode 100644 hw/vfio/trace.h
 delete mode 100644 hw/virtio/Makefile.objs
 create mode 100644 hw/virtio/meson.build
 create mode 100644 hw/virtio/trace.h
 delete mode 100644 hw/watchdog/Makefile.objs
 create mode 100644 hw/watchdog/meson.build
 create mode 100644 hw/watchdog/trace.h
 delete mode 100644 hw/xen/Makefile.objs
 create mode 100644 hw/xen/meson.build
 create mode 100644 hw/xen/trace.h
 delete mode 100644 hw/xenpv/Makefile.objs
 create mode 100644 hw/xenpv/meson.build
 delete mode 100644 hw/xtensa/Makefile.objs
 create mode 100644 hw/xtensa/meson.build
 rename include/exec/{memory_ldst.inc.h => memory_ldst.h.inc} (100%)
 rename include/exec/{memory_ldst_cached.inc.h => memory_ldst_cached.h.inc} (100%)
 rename include/exec/{memory_ldst_phys.inc.h => memory_ldst_phys.h.inc} (100%)
 delete mode 100644 io/Makefile.objs
 create mode 100644 io/meson.build
 create mode 100644 io/trace.h
 delete mode 100644 libdecnumber/Makefile.objs
 create mode 100644 libdecnumber/meson.build
 delete mode 100644 linux-user/Makefile.objs
 delete mode 100644 linux-user/alpha/Makefile.objs
 create mode 100644 linux-user/alpha/meson.build
 delete mode 100644 linux-user/arm/Makefile.objs
 create mode 100644 linux-user/arm/meson.build
 delete mode 100644 linux-user/arm/nwfpe/Makefile.objs
 create mode 100644 linux-user/arm/nwfpe/meson.build
 delete mode 100644 linux-user/hppa/Makefile.objs
 create mode 100644 linux-user/hppa/meson.build
 delete mode 100644 linux-user/i386/Makefile.objs
 create mode 100644 linux-user/i386/meson.build
 create mode 100644 linux-user/i386/syscall_nr.h
 delete mode 100644 linux-user/m68k/Makefile.objs
 create mode 100644 linux-user/m68k/meson.build
 create mode 100644 linux-user/meson.build
 delete mode 100644 linux-user/microblaze/Makefile.objs
 create mode 100644 linux-user/microblaze/meson.build
 delete mode 100644 linux-user/mips/Makefile.objs
 create mode 100644 linux-user/mips/meson.build
 create mode 100644 linux-user/mips/syscall_nr.h
 delete mode 100644 linux-user/mips64/Makefile.objs
 create mode 100644 linux-user/mips64/meson.build
 create mode 100644 linux-user/mips64/syscall_nr.h
 delete mode 100644 linux-user/ppc/Makefile.objs
 create mode 100644 linux-user/ppc/meson.build
 delete mode 100644 linux-user/s390x/Makefile.objs
 create mode 100644 linux-user/s390x/meson.build
 delete mode 100644 linux-user/sh4/Makefile.objs
 create mode 100644 linux-user/sh4/meson.build
 delete mode 100644 linux-user/sparc/Makefile.objs
 create mode 100644 linux-user/sparc/meson.build
 delete mode 100644 linux-user/sparc64/Makefile.objs
 create mode 100644 linux-user/sparc64/meson.build
 create mode 100644 linux-user/trace.h
 delete mode 100644 linux-user/x86_64/Makefile.objs
 create mode 100644 linux-user/x86_64/meson.build
 create mode 100644 linux-user/x86_64/syscall_nr.h
 delete mode 100644 linux-user/xtensa/Makefile.objs
 create mode 100644 linux-user/xtensa/meson.build
 rename memory_ldst.inc.c => memory_ldst.c.inc (100%)
 create mode 160000 meson
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 delete mode 100644 migration/Makefile.objs
 create mode 100644 migration/meson.build
 create mode 100644 migration/trace.h
 delete mode 100644 monitor/Makefile.objs
 create mode 100644 monitor/meson.build
 create mode 100644 monitor/trace.h
 delete mode 100644 nbd/Makefile.objs
 create mode 100644 nbd/meson.build
 create mode 100644 nbd/trace.h
 delete mode 100644 net/Makefile.objs
 delete mode 100644 net/can/Makefile.objs
 create mode 100644 net/can/meson.build
 create mode 100644 net/meson.build
 create mode 100644 net/trace.h
 create mode 100644 pc-bios/descriptors/meson.build
 create mode 100644 pc-bios/meson.build
 delete mode 100644 plugins/Makefile.objs
 create mode 100644 plugins/meson.build
 create mode 100644 po/LINGUAS
 delete mode 100644 po/Makefile
 create mode 100644 po/POTFILES
 create mode 100644 po/meson.build
 delete mode 100644 po/messages.po
 delete mode 100644 qapi/Makefile.objs
 create mode 100644 qapi/meson.build
 create mode 100644 qapi/trace.h
 delete mode 100644 qga/Makefile.objs
 create mode 100644 qga/meson.build
 delete mode 100644 qga/vss-win32/Makefile.objs
 create mode 100644 qga/vss-win32/meson.build
 delete mode 100644 qobject/Makefile.objs
 create mode 100644 qobject/meson.build
 delete mode 100644 qom/Makefile.objs
 create mode 100644 qom/meson.build
 create mode 100644 qom/trace.h
 delete mode 100644 replay/Makefile.objs
 create mode 100644 replay/meson.build
 create mode 100644 scripts/check_sparse.py
 delete mode 100755 scripts/create_config
 mode change 100755 => 100644 scripts/decodetree.py
 create mode 100755 scripts/grepy.sh
 mode change 100644 => 100755 scripts/hxtool
 mode change 100755 => 100644 scripts/minikconf.py
 create mode 100644 scripts/mtest2make.py
 create mode 100755 scripts/ninjatool.py
 mode change 100755 => 100644 scripts/qapi-gen.py
 create mode 100755 scripts/qemu-version.sh
 mode change 100755 => 100644 scripts/tracetool.py
 create mode 100755 scripts/undefsym.sh
 delete mode 100644 scsi/Makefile.objs
 create mode 100644 scsi/meson.build
 create mode 100644 scsi/trace.h
 delete mode 100644 softmmu/Makefile.objs
 create mode 100644 softmmu/meson.build
 delete mode 100644 storage-daemon/Makefile.objs
 create mode 100644 storage-daemon/meson.build
 delete mode 100644 storage-daemon/qapi/Makefile.objs
 create mode 100644 storage-daemon/qapi/meson.build
 rename qemu-storage-daemon.c => storage-daemon/qemu-storage-daemon.c (100%)
 delete mode 100644 stubs/Makefile.objs
 create mode 100644 stubs/meson.build
 delete mode 100644 target/alpha/Makefile.objs
 create mode 100644 target/alpha/meson.build
 delete mode 100644 target/arm/Makefile.objs
 create mode 100644 target/arm/meson.build
 create mode 100644 target/arm/trace.h
 rename target/arm/{translate-neon.inc.c => translate-neon.c.inc} (99%)
 rename target/arm/{translate-vfp.inc.c => translate-vfp.c.inc} (99%)
 delete mode 100644 target/avr/Makefile.objs
 create mode 100644 target/avr/meson.build
 delete mode 100644 target/cris/Makefile.objs
 create mode 100644 target/cris/meson.build
 rename target/cris/{translate_v10.inc.c => translate_v10.c.inc} (100%)
 delete mode 100644 target/hppa/Makefile.objs
 create mode 100644 target/hppa/meson.build
 create mode 100644 target/hppa/trace.h
 delete mode 100644 target/i386/Makefile.objs
 delete mode 100644 target/i386/hvf/Makefile.objs
 create mode 100644 target/i386/hvf/meson.build
 create mode 100644 target/i386/meson.build
 create mode 100644 target/i386/trace.h
 delete mode 100644 target/lm32/Makefile.objs
 create mode 100644 target/lm32/meson.build
 delete mode 100644 target/m68k/Makefile.objs
 create mode 100644 target/m68k/meson.build
 create mode 100644 target/meson.build
 delete mode 100644 target/microblaze/Makefile.objs
 create mode 100644 target/microblaze/meson.build
 delete mode 100644 target/mips/Makefile.objs
 create mode 100644 target/mips/meson.build
 create mode 100644 target/mips/trace.h
 rename target/mips/{translate_init.inc.c => translate_init.c.inc} (100%)
 delete mode 100644 target/moxie/Makefile.objs
 create mode 100644 target/moxie/meson.build
 delete mode 100644 target/nios2/Makefile.objs
 create mode 100644 target/nios2/meson.build
 delete mode 100644 target/openrisc/Makefile.objs
 create mode 100644 target/openrisc/meson.build
 delete mode 100644 target/ppc/Makefile.objs
 create mode 100644 target/ppc/meson.build
 rename target/ppc/{mfrom_table.inc.c => mfrom_table.c.inc} (100%)
 create mode 100644 target/ppc/trace.h
 rename target/ppc/translate/{dfp-impl.inc.c => dfp-impl.c.inc} (100%)
 rename target/ppc/translate/{dfp-ops.inc.c => dfp-ops.c.inc} (100%)
 rename target/ppc/translate/{fp-impl.inc.c => fp-impl.c.inc} (100%)
 rename target/ppc/translate/{fp-ops.inc.c => fp-ops.c.inc} (100%)
 rename target/ppc/translate/{spe-impl.inc.c => spe-impl.c.inc} (100%)
 rename target/ppc/translate/{spe-ops.inc.c => spe-ops.c.inc} (100%)
 rename target/ppc/translate/{vmx-impl.inc.c => vmx-impl.c.inc} (100%)
 rename target/ppc/translate/{vmx-ops.inc.c => vmx-ops.c.inc} (100%)
 rename target/ppc/translate/{vsx-impl.inc.c => vsx-impl.c.inc} (100%)
 rename target/ppc/translate/{vsx-ops.inc.c => vsx-ops.c.inc} (100%)
 rename target/ppc/{translate_init.inc.c => translate_init.c.inc} (100%)
 delete mode 100644 target/riscv/Makefile.objs
 rename target/riscv/insn_trans/{trans_privileged.inc.c => trans_privileged.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rva.inc.c => trans_rva.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvd.inc.c => trans_rvd.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvf.inc.c => trans_rvf.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvh.inc.c => trans_rvh.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvi.inc.c => trans_rvi.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvm.inc.c => trans_rvm.c.inc} (100%)
 rename target/riscv/insn_trans/{trans_rvv.inc.c => trans_rvv.c.inc} (100%)
 create mode 100644 target/riscv/meson.build
 create mode 100644 target/riscv/trace.h
 delete mode 100644 target/rx/Makefile.objs
 create mode 100644 target/rx/meson.build
 delete mode 100644 target/s390x/Makefile.objs
 rename target/s390x/{cpu_features_def.inc.h => cpu_features_def.h.inc} (100%)
 create mode 100644 target/s390x/meson.build
 create mode 100644 target/s390x/trace.h
 rename target/s390x/{translate_vx.inc.c => translate_vx.c.inc} (100%)
 delete mode 100644 target/sh4/Makefile.objs
 create mode 100644 target/sh4/meson.build
 delete mode 100644 target/sparc/Makefile.objs
 create mode 100644 target/sparc/meson.build
 create mode 100644 target/sparc/trace.h
 delete mode 100644 target/tilegx/Makefile.objs
 create mode 100644 target/tilegx/meson.build
 delete mode 100644 target/tricore/Makefile.objs
 create mode 100644 target/tricore/meson.build
 delete mode 100644 target/unicore32/Makefile.objs
 create mode 100644 target/unicore32/meson.build
 delete mode 100644 target/xtensa/Makefile.objs
 rename target/xtensa/core-dc232b/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-dc232b/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-dc233c/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-dc233c/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-de212/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-de212/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-fsf/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-sample_controller/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-sample_controller/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-test_kc705_be/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-test_kc705_be/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 rename target/xtensa/core-test_mmuhifi_c3/{gdb-config.inc.c => gdb-config.c.inc} (100%)
 rename target/xtensa/core-test_mmuhifi_c3/{xtensa-modules.inc.c => xtensa-modules.c.inc} (100%)
 create mode 100644 target/xtensa/meson.build
 rename tcg/aarch64/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/arm/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/i386/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/mips/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/ppc/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/riscv/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/s390/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/sparc/{tcg-target.inc.c => tcg-target.c.inc} (99%)
 rename tcg/{tcg-ldst.inc.c => tcg-ldst.c.inc} (100%)
 rename tcg/{tcg-pool.inc.c => tcg-pool.c.inc} (99%)
 rename tcg/tci/{tcg-target.inc.c => tcg-target.c.inc} (100%)
 create mode 100755 tests/docker/test-static
 delete mode 100644 tests/fp/Makefile
 create mode 100644 tests/fp/meson.build
 rename tests/fp/{wrap.inc.c => wrap.c.inc} (100%)
 create mode 100644 tests/meson.build
 delete mode 100644 tests/plugin/Makefile
 create mode 100644 tests/plugin/meson.build
 create mode 100644 tests/qapi-schema/meson.build
 create mode 100644 tests/qemu-iotests/meson.build
 delete mode 100644 tests/qtest/Makefile.include
 delete mode 100644 tests/qtest/fuzz/Makefile.include
 create mode 100644 tests/qtest/fuzz/meson.build
 rename tests/qtest/{ => libqos}/libqtest.h (100%)
 create mode 100644 tests/qtest/libqos/meson.build
 create mode 100644 tests/qtest/meson.build
 create mode 100644 tools/meson.build
 delete mode 100644 tools/virtiofsd/Makefile.objs
 create mode 100644 tools/virtiofsd/meson.build
 rename tools/virtiofsd/{seccomp.c => passthrough_seccomp.c} (99%)
 rename tools/virtiofsd/{seccomp.h => passthrough_seccomp.h} (100%)
 delete mode 100644 trace/Makefile.objs
 create mode 100644 trace/meson.build
 delete mode 100644 ui/Makefile.objs
 create mode 100644 ui/meson.build
 create mode 100644 ui/shader/meson.build
 create mode 100644 ui/trace.h
 rename ui/{vnc-enc-zrle.inc.c => vnc-enc-zrle.c.inc} (100%)
 delete mode 100644 util/Makefile.objs
 create mode 100644 util/meson.build
 create mode 100644 util/trace.h
 create mode 100644 version.texi.in
-- 
2.26.2

diff --git a/configure b/configure
index e9f9ec73b3..cc5f58f31a 100755
--- a/configure
+++ b/configure
@@ -7917,6 +7917,9 @@ fi
 if test "$target_user_only" = "yes" ; then
   echo "CONFIG_USER_ONLY=y" >> $config_target_mak
   echo "CONFIG_QEMU_INTERP_PREFIX=\"$interp_prefix1\"" >> $config_target_mak
+  symlink "../qemu-$target_name" "$target_dir/qemu-$target_name"
+else
+  symlink "../qemu-system-$target_name" "$target_dir/qemu-system-$target_name"
 fi
 if test "$target_linux_user" = "yes" ; then
   echo "CONFIG_LINUX_USER=y" >> $config_target_mak
diff --git a/linux-user/mips/meson.build b/linux-user/mips/meson.build
index 6066a50579..262a35703b 100644
--- a/linux-user/mips/meson.build
+++ b/linux-user/mips/meson.build
@@ -1,5 +1,6 @@
 syscall_nr_generators += {
   'mips': generator(sh,
-                    arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@' ],
+                    arguments: [ meson.current_source_dir() / 'syscallhdr.sh', '@INPUT@', '@OUTPUT@', '@EXTRA_ARGS@',
+                                 '', '4000' ],
                     output: '@BASENAME@_nr.h')
 }
diff --git a/tests/Makefile.include b/tests/Makefile.include
index aec293bdd0..ae4315e00e 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -522,10 +522,8 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) get-vm-images
 
 # Consolidated targets
 
-.PHONY: check-unit check check-clean get-vm-images
-ifeq ($(CONFIG_TOOLS),y)
-check-block: $(patsubst %,check-%, $(check-block-y))
-endif
+.PHONY: check-block check-unit check check-clean get-vm-images
+check-block:
 check-build: build-unit
 
 check: check-unit



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
@ 2020-08-19 21:59 ` Eric Blake
  2020-08-19 22:08   ` Paolo Bonzini
  2020-08-20 10:33 ` Peter Maydell
  2020-08-21  6:15 ` Howard Spoelstra
  2 siblings, 1 reply; 14+ messages in thread
From: Eric Blake @ 2020-08-19 21:59 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: peter.maydell

On 8/19/20 4:32 PM, Paolo Bonzini wrote:
> The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:
> 
>    Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/bonzini/qemu.git tags/for-upstream

Unrelated to the pull request proper, but I note in MAINTAINERS that you 
have listed:

T: git https://github.com/bonzini/qemu.git scsi-next

Have you switched to gitlab as your personal mirroring preference, and 
if so, should MAINTAINERS be updated?

> 
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
> 
>    docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)
> 
> v6->v7:
> * new patch to preserve compatibility symlinks from previous binary locations
> * fixed cut-and-paste error in linux-user/mips/meson.build
> * preserve compatibility check-block target even if no block tests are defined

FWIW: I haven't done any review or testing of the earlier iterations of 
this series.  But since it will be landing soon, I merged this tag to an 
incremental build tree that was previously sitting on a finished 5.1 
build (sources in qemu/, VPATH build in qemu/build/), typed 'make' then 
'make check', and everything finished successfully at least for my 
typical setup.  So good job on getting this massive rewrite in while 
still preserving at least the common 'make' interface.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-19 21:59 ` Eric Blake
@ 2020-08-19 22:08   ` Paolo Bonzini
  0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-19 22:08 UTC (permalink / raw)
  To: Eric Blake, qemu-devel; +Cc: peter.maydell

On 19/08/20 23:59, Eric Blake wrote:
> On 8/19/20 4:32 PM, Paolo Bonzini wrote:
>> The following changes since commit
>> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>>
>>    Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>>
>> are available in the Git repository at:
>>
>>    https://gitlab.com/bonzini/qemu.git tags/for-upstream
> 
> Unrelated to the pull request proper, but I note in MAINTAINERS that you
> have listed:
> 
> T: git https://github.com/bonzini/qemu.git scsi-next
> 
> Have you switched to gitlab as your personal mirroring preference, and
> if so, should MAINTAINERS be updated?

Yes, but also I've not used a scsi-next branch for years. :)

>> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>>
>>    docs: convert build system documentation to rST (2020-08-19
>> 16:13:30 -0400)
>>
>> v6->v7:
>> * new patch to preserve compatibility symlinks from previous binary
>> locations
>> * fixed cut-and-paste error in linux-user/mips/meson.build
>> * preserve compatibility check-block target even if no block tests are
>> defined
> 
> FWIW: I haven't done any review or testing of the earlier iterations of
> this series.  But since it will be landing soon, I merged this tag to an
> incremental build tree that was previously sitting on a finished 5.1
> build (sources in qemu/, VPATH build in qemu/build/), typed 'make' then
> 'make check', and everything finished successfully at least for my
> typical setup.  So good job on getting this massive rewrite in while
> still preserving at least the common 'make' interface.

I must admit I was a bit lazy with incremental builds until Peter
pressed me for it, and I must say it wasn't _that_ hard to do, with a
fresh mind.  I tried a bunch of touch&&make scenarios and they all
worked fine.  It always helps to steal tricks from Autoconf's bag, since
QEMU's "./config.status --skip-meson" is basically the same as
Autoconf's "./config.status --recheck".

Paolo



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
  2020-08-19 21:59 ` Eric Blake
@ 2020-08-20 10:33 ` Peter Maydell
  2020-08-20 11:52   ` Paolo Bonzini
  2020-08-21  6:15 ` Howard Spoelstra
  2 siblings, 1 reply; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 10:33 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On Wed, 19 Aug 2020 at 22:32, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit d0ed6a69d399ae193959225cdeaa9382746c91cc:
>
>   Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>
>   docs: convert build system documentation to rST (2020-08-19 16:13:30 -0400)
>
> v6->v7:
> * new patch to preserve compatibility symlinks from previous binary locations
> * fixed cut-and-paste error in linux-user/mips/meson.build
> * preserve compatibility check-block target even if no block tests are defined

'make check' still fails for the all-linux-static config, this
time for a different reason:

make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-20 10:33 ` Peter Maydell
@ 2020-08-20 11:52   ` Paolo Bonzini
  2020-08-20 14:54     ` Peter Maydell
  0 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-20 11:52 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

On 20/08/20 12:33, Peter Maydell wrote:
> 'make check' still fails for the all-linux-static config, this
> time for a different reason:
> 
> make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.

Oh, there are two "check:" rules.

I pushed again the tag with just this delta:

diff --git a/tests/Makefile.include b/tests/Makefile.include
index ae4315e00e..9ac8f5b86a 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -526,13 +526,12 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) get-vm-images
 check-block:
 check-build: build-unit
 
-check: check-unit
 check-clean:
 	rm -rf $(check-unit-y) tests/*.o tests/*/*.o $(QEMU_IOTESTS_HELPERS-y)
 	rm -f tests/test-qapi-gen-timestamp
 	rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
 
-check: check-block check-qapi-schema check-unit check-qtest check-decodetree
+check: check-unit
 
 clean: check-clean
 

If any more reasonable expectations from the older build system turn out to
be broken, like in the binaries case, I will be happy to accomodate them

Paolo



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-20 11:52   ` Paolo Bonzini
@ 2020-08-20 14:54     ` Peter Maydell
  2020-08-20 16:02       ` Paolo Bonzini
  0 siblings, 1 reply; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 14:54 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On Thu, 20 Aug 2020 at 12:52, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 20/08/20 12:33, Peter Maydell wrote:
> > 'make check' still fails for the all-linux-static config, this
> > time for a different reason:
> >
> > make: *** No rule to make target 'check-qtest', needed by 'check'. Stop.
>
> Oh, there are two "check:" rules.
>
> I pushed again the tag

For the all-linux-static build, Meson emits these WARNING lines:

Configuring ninjatool using configuration
Library m found: YES
Library util found: YES
Library aio found: YES
Library rt found: YES
Found pkg-config: /usr/bin/pkg-config (0.29.1)
WARNING: Static library 'asound' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'pulse-simple' not found for dependency
'sdl2', may not be statically linked
WARNING: Static library 'pulse' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'sndio' not found for dependency 'sdl2', may
not be statically linked
WARNING: Static library 'wayland-egl' not found for dependency 'sdl2',
may not be statically linked
WARNING: Static library 'wayland-client' not found for dependency
'sdl2', may not be statically linked
WARNING: Static library 'wayland-cursor' not found for dependency
'sdl2', may not be statically linked
Run-time dependency sdl2 found: YES 2.0.8
Found CMake: /usr/bin/cmake (3.10.2)
Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
Run-time dependency libpng found: YES 1.6.34


What are they for, and can they be suppressed ?

thanks
-- PMM


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-20 14:54     ` Peter Maydell
@ 2020-08-20 16:02       ` Paolo Bonzini
  2020-08-20 16:10         ` Peter Maydell
  0 siblings, 1 reply; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-20 16:02 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

On 20/08/20 16:54, Peter Maydell wrote:
> Configuring ninjatool using configuration
> Library m found: YES
> Library util found: YES
> Library aio found: YES
> Library rt found: YES
> Found pkg-config: /usr/bin/pkg-config (0.29.1)
> WARNING: Static library 'asound' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'pulse-simple' not found for dependency
> 'sdl2', may not be statically linked
> WARNING: Static library 'pulse' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'sndio' not found for dependency 'sdl2', may
> not be statically linked
> WARNING: Static library 'wayland-egl' not found for dependency 'sdl2',
> may not be statically linked
> WARNING: Static library 'wayland-client' not found for dependency
> 'sdl2', may not be statically linked
> WARNING: Static library 'wayland-cursor' not found for dependency
> 'sdl2', may not be statically linked
> Run-time dependency sdl2 found: YES 2.0.8
> Found CMake: /usr/bin/cmake (3.10.2)
> Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
> Run-time dependency libpng found: YES 1.6.34
> 
> What are they for, and can they be suppressed ?

Meson (just like configure before it) is looking for SDL and other
dependencies even if you're not building system emulators.

Because you don't have those dependencies installed as static libraries,
Meson warns that library is marked as "not found" even though the
library itself is there.  To suppress the warnings, it's enough to put
an "if have_system" around the dependency check.  Let me know if you
want me to do it now.

Paolo



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-20 16:02       ` Paolo Bonzini
@ 2020-08-20 16:10         ` Peter Maydell
  0 siblings, 0 replies; 14+ messages in thread
From: Peter Maydell @ 2020-08-20 16:10 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On Thu, 20 Aug 2020 at 17:02, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Meson (just like configure before it) is looking for SDL and other
> dependencies even if you're not building system emulators.
>
> Because you don't have those dependencies installed as static libraries,
> Meson warns that library is marked as "not found" even though the
> library itself is there.

Looking at the old configure logic, I think what we do for a static
link is that we do a test compile, and if it succeeds then we enable
SDL, and if it doesn't we silently don't enable SDL (and I haven't
tested but I assume that this config without the dependencies
available as static libraries is going to fail that compile test).
Presumably Meson is complaining rather than just treating "don't have
a working static SDL and user didn't pass --enable-sdl" as
"silently don't enable SDL" ?

>  To suppress the warnings, it's enough to put
> an "if have_system" around the dependency check.  Let me know if you
> want me to do it now.

Don't need to fix this now; I guess we can do it later.

thanks
-- PMM


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
  2020-08-19 21:59 ` Eric Blake
  2020-08-20 10:33 ` Peter Maydell
@ 2020-08-21  6:15 ` Howard Spoelstra
  2020-08-21 10:58   ` Howard Spoelstra
  2 siblings, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21  6:15 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel

[-- Attachment #1: Type: text/plain, Size: 5009 bytes --]

On Wed, Aug 19, 2020 at 11:32 PM Paolo Bonzini <pbonzini@redhat.com> wrote:

> The following changes since commit
> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>
>   Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>
>
> Hi,

I attempted to cross compile Qemu for Windows from the meson branch today
using a Fedora 32 VM and using MSYS2 .

In both cases I compiled using:
 ./configure --cross-prefix=x86_64-w64-mingw32- --target-list=ppc-softmmu
--enable-gtk --enable-sdl

For the builds to run on Windows I normally copy the pc-bios folder and the
required dlls (from \msys64\mingw64\bin for the MSYS2 build and from
/usr/x86_64-w64-mingw32/sys-root/mingw/bin for the Fedora based build).
This has always worked in the past.

As noticed earlier in discussion with Paolo, with MSYS2 there appears to be
a difference in how grep works on Linux and Windows. Using grep 3.1 as
provided by MSYS2, the file config-all-devices.mak file stays empty.

On Fedora the compilation process completed successfully. However, the
binary crashes. This is the backtrace I could get:

(gdb) attach 11528
Attaching to process 11528
[New Thread 11528.0x218]
[New Thread 11528.0x3380]
[New Thread 11528.0xf80]
Reading symbols from C:\qemu-debugging\gdb.exe...(no debugging symbols
found)...
done.
0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
(gdb) thread apply all bt full

Thread 3 (Thread 11528.0xf80):
#0  0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffb9ef3c90e in ntdll!DbgUiRemoteBreakin ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#2  0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
   from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#3  0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 11528.0x3380):
#0  0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
   from C:\WINDOWS\System32\KernelBase.dll
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#2  0x00007ffb9c65880e in WaitForMultipleObjects ()
   from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3  0x00000000004291a5 in ?? ()
No symbol table info available.
#4  0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
   from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#5  0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 11528.0x218):
#0  0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#1  0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
   from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#2  0x00007ffb9c65880e in WaitForMultipleObjects ()
---Type <return> to continue, or q <return> to quit---
   from C:\WINDOWS\System32\KernelBase.dll
No symbol table info available.
#3  0x0000000000483e9c in ?? ()
No symbol table info available.
#4  0x0000000000551049 in ?? ()
No symbol table info available.
#5  0x0000000000550498 in ?? ()
No symbol table info available.
#6  0x00000000005504fd in ?? ()
No symbol table info available.
#7  0x0000000000551b63 in ?? ()
No symbol table info available.
#8  0x00000000005489d7 in ?? ()
No symbol table info available.
#9  0x0000000000549421 in ?? ()
No symbol table info available.
#10 0x0000000000545e0b in ?? ()
No symbol table info available.
#11 0x000000000054a922 in ?? ()
No symbol table info available.
#12 0x0000000000545e0b in ?? ()
No symbol table info available.
#13 0x000000000054a94d in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#14 0x00000000004017e5 in ?? ()
No symbol table info available.
#15 0x0000000000401472 in ?? ()
No symbol table info available.
#16 0x000000000040117c in ?? ()
No symbol table info available.
#17 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
   from C:\WINDOWS\System32\kernel32.dll
No symbol table info available.
#18 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
   from C:\WINDOWS\SYSTEM32\ntdll.dll
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)

Best,
Howard

[-- Attachment #2: Type: text/html, Size: 6128 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-21  6:15 ` Howard Spoelstra
@ 2020-08-21 10:58   ` Howard Spoelstra
  2020-08-21 12:33     ` Paolo Bonzini
  0 siblings, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21 10:58 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel

[-- Attachment #1: Type: text/plain, Size: 5594 bytes --]

On Fri, Aug 21, 2020 at 8:15 AM Howard Spoelstra <hsp.cat7@gmail.com> wrote:

>
>
> On Wed, Aug 19, 2020 at 11:32 PM Paolo Bonzini <pbonzini@redhat.com>
> wrote:
>
>> The following changes since commit
>> d0ed6a69d399ae193959225cdeaa9382746c91cc:
>>
>>   Update version for v5.1.0 release (2020-08-11 17:07:03 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/bonzini/qemu.git tags/for-upstream
>>
>> for you to fetch changes up to 2eddb3c65821dce76433d5da6f3e6419349d1b77:
>>
>>
>> Hi,
>
> I attempted to cross compile Qemu for Windows from the meson branch today
> using a Fedora 32 VM and using MSYS2 .
>
> In both cases I compiled using:
>  ./configure --cross-prefix=x86_64-w64-mingw32- --target-list=ppc-softmmu
> --enable-gtk --enable-sdl
>
> For the builds to run on Windows I normally copy the pc-bios folder and
> the required dlls (from \msys64\mingw64\bin for the MSYS2 build and from
> /usr/x86_64-w64-mingw32/sys-root/mingw/bin for the Fedora based build).
> This has always worked in the past.
>
> As noticed earlier in discussion with Paolo, with MSYS2 there appears to
> be a difference in how grep works on Linux and Windows. Using grep 3.1 as
> provided by MSYS2, the file config-all-devices.mak file stays empty.
>
> On Fedora the compilation process completed successfully. However, the
> binary crashes. This is the backtrace I could get:
>
> (gdb) attach 11528
> Attaching to process 11528
> [New Thread 11528.0x218]
> [New Thread 11528.0x3380]
> [New Thread 11528.0xf80]
> Reading symbols from C:\qemu-debugging\gdb.exe...(no debugging symbols
> found)...
> done.
> 0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> (gdb) thread apply all bt full
>
> Thread 3 (Thread 11528.0xf80):
> #0  0x00007ffb9ef0f8b1 in ntdll!DbgBreakPoint ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1  0x00007ffb9ef3c90e in ntdll!DbgUiRemoteBreakin ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #2  0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
>    from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #3  0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #4  0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>
> Thread 2 (Thread 11528.0x3380):
> #0  0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1  0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
>    from C:\WINDOWS\System32\KernelBase.dll
> ---Type <return> to continue, or q <return> to quit---
> No symbol table info available.
> #2  0x00007ffb9c65880e in WaitForMultipleObjects ()
>    from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #3  0x00000000004291a5 in ?? ()
> No symbol table info available.
> #4  0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
>    from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #5  0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #6  0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
>
> Thread 1 (Thread 11528.0x218):
> #0  0x00007ffb9ef0c914 in ntdll!ZwWaitForMultipleObjects ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #1  0x00007ffb9c658910 in WaitForMultipleObjectsEx ()
>    from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #2  0x00007ffb9c65880e in WaitForMultipleObjects ()
> ---Type <return> to continue, or q <return> to quit---
>    from C:\WINDOWS\System32\KernelBase.dll
> No symbol table info available.
> #3  0x0000000000483e9c in ?? ()
> No symbol table info available.
> #4  0x0000000000551049 in ?? ()
> No symbol table info available.
> #5  0x0000000000550498 in ?? ()
> No symbol table info available.
> #6  0x00000000005504fd in ?? ()
> No symbol table info available.
> #7  0x0000000000551b63 in ?? ()
> No symbol table info available.
> #8  0x00000000005489d7 in ?? ()
> No symbol table info available.
> #9  0x0000000000549421 in ?? ()
> No symbol table info available.
> #10 0x0000000000545e0b in ?? ()
> No symbol table info available.
> #11 0x000000000054a922 in ?? ()
> No symbol table info available.
> #12 0x0000000000545e0b in ?? ()
> No symbol table info available.
> #13 0x000000000054a94d in ?? ()
> No symbol table info available.
> ---Type <return> to continue, or q <return> to quit---
> #14 0x00000000004017e5 in ?? ()
> No symbol table info available.
> #15 0x0000000000401472 in ?? ()
> No symbol table info available.
> #16 0x000000000040117c in ?? ()
> No symbol table info available.
> #17 0x00007ffb9dbe6fd4 in KERNEL32!BaseThreadInitThunk ()
>    from C:\WINDOWS\System32\kernel32.dll
> No symbol table info available.
> #18 0x00007ffb9eebcec1 in ntdll!RtlUserThreadStart ()
>    from C:\WINDOWS\SYSTEM32\ntdll.dll
> No symbol table info available.
> #19 0x0000000000000000 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame inner to this frame (corrupt stack?)
> (gdb)
>
>
I investigated a bit further and saw:
ldd in Fedora tells me the executable is "not a dynamic executable".

Meson seems to default to try a static build and enable pie, whereas a
normal build would require --static to enable that and have pie=no

Best,
Howard

[-- Attachment #2: Type: text/html, Size: 6782 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-21 10:58   ` Howard Spoelstra
@ 2020-08-21 12:33     ` Paolo Bonzini
  2020-08-21 16:11       ` Howard Spoelstra
  2020-08-24 16:18       ` Daniel P. Berrangé
  0 siblings, 2 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-21 12:33 UTC (permalink / raw)
  To: Howard Spoelstra; +Cc: Peter Maydell, qemu-devel qemu-devel

On 21/08/20 12:58, Howard Spoelstra wrote:
> I investigated a bit further and saw:
> ldd in Fedora tells me the executable is "not a dynamic executable".

How are you executing ldd?  I cross built a mingw executable from Fedora
and it was definitely using system DLLs.

PIE builds and doesn't start (doesn't even reach main) but --disable-pie
works just fine.  I don't know if the same issue is present under
Windows or it's Wine-specific.

Stuff that is not in CI pipelines is going to break.  Since there is an
easy workaround for bisection (--disable-pie), and Meson makes it easier
to run tests under Wine, we really should fix this on top of the
conversion and also add Wine support to the CI pipelines.  This way it
will be tested.

As to grepy.sh, perhaps the problem is due to CRLF line endings?  My
suggestion is that you just rewrite it in Python, like

s = set()
for fname in sys.argv[1:]:
    with open(fname, 'r') as f:
        s.update((x.rstrip() for x in f
                  if x.rstrip().endswith('=y')))
print(*sorted(s), sep='\n')

and send a patch after you've tested it.

Paolo

> Meson seems to default to try a static build and enable pie, whereas a
> normal build would require --static to enable that and have pie=no



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-21 12:33     ` Paolo Bonzini
@ 2020-08-21 16:11       ` Howard Spoelstra
  2020-08-21 16:16         ` Paolo Bonzini
  2020-08-24 16:18       ` Daniel P. Berrangé
  1 sibling, 1 reply; 14+ messages in thread
From: Howard Spoelstra @ 2020-08-21 16:11 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel

[-- Attachment #1: Type: text/plain, Size: 10528 bytes --]

> How are you executing ldd?  I cross built a mingw executable from Fedora
> and it was definitely using system DLLs.
>
> This is what I see in Fedora 32 before moving executable and dlls to
Windows:

[hsp@localhost build]$ uname -a
Linux localhost.localdomain 5.7.14-200.fc32.x86_64 #1 SMP Fri Aug 7
23:16:37 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

[hsp@localhost build]$ ../configure --cross-prefix=x86_64-w64-mingw32-
--enable-gtk --enable-sdl --target-list=ppc-softmmu --disable-pie
cross containers  podman
The Meson build system
Version: 0.55.0
Source dir: /home/hsp/src/qemu-master
Build dir: /home/hsp/src/qemu-master/build
Build type: cross build
Project name: qemu
Project version: 5.1.50
C compiler for the build machine: cc (gcc 10.2.1 "cc (GCC) 10.2.1 20200723
(Red Hat 10.2.1-1)")
C linker for the build machine: cc ld.bfd 2.34-4
C compiler for the host machine: x86_64-w64-mingw32-gcc (gcc 9.2.1
"x86_64-w64-mingw32-gcc (GCC) 9.2.1 20190827 (Fedora MinGW 9.2.1-6.fc32)")
C linker for the host machine: x86_64-w64-mingw32-gcc ld.bfd 2.32
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86
Host machine cpu: x86_64
Target machine cpu family: x86
Target machine cpu: x86_64
../meson.build:9: WARNING: Module unstable-keyval has no backwards or
forwards compatibility and might not exist in future releases.
Program sh found: YES
Program python3 found: YES (/usr/bin/python3)
C++ compiler for the host machine: x86_64-w64-mingw32-g++ (gcc 9.2.1
"x86_64-w64-mingw32-g++ (GCC) 9.2.1 20190827 (Fedora MinGW 9.2.1-6.fc32)")
C++ linker for the host machine: x86_64-w64-mingw32-g++ ld.bfd 2.32
Configuring ninjatool using configuration
Library m found: YES
Library util found: NO
Library ws2_32 found: YES
Library winmm found: YES
Windows resource compiler: GNU windres version 2.32-%{release}
Library aio found: NO
Library rt found: NO
Found pkg-config: /usr/bin/x86_64-w64-mingw32-pkg-config (0.28)
Run-time dependency sdl2 found: YES 2.0.12
Found CMake: NO
Run-time dependency sdl-image found: NO (tried pkgconfig and cmake)
Run-time dependency libpng found: YES 1.6.37
Has header "jpeglib.h" : YES
Library jpeg found: YES
Has header "sasl/sasl.h" : NO
Configuring config-host.h using configuration
Program scripts/minikconf.py found: YES
Configuring ppc-softmmu-config-target.h using configuration
Configuring ppc-softmmu-config-devices.mak with command
Reading depfile:
/home/hsp/src/qemu-master/build/meson-private/ppc-softmmu-config-devices.mak.d
Configuring ppc-softmmu-config-devices.h using configuration
Program scripts/grepy.sh found: YES
Configuring config-all-devices.mak with command
Program scripts/hxtool found: YES
Program scripts/shaderinclude.pl found: YES
Program scripts/qapi-gen.py found: YES
Program scripts/qemu-version.sh found: YES
Run-time dependency threads found: YES
Program keycodemapdb/tools/keymap-gen found: YES
Program scripts/decodetree.py found: YES
Program ../scripts/modules/module_block.py found: YES
Program x86_64-w64-mingw32-nm found: YES
Program scripts/undefsym.sh found: YES
Program scripts/feature_to_c.sh found: YES
Program wixl found: NO
Program bzip2 found: YES
Configuring 50-edk2-i386-secure.json using configuration
Configuring 50-edk2-x86_64-secure.json using configuration
Configuring 60-edk2-aarch64.json using configuration
Configuring 60-edk2-arm.json using configuration
Configuring 60-edk2-i386.json using configuration
Configuring 60-edk2-x86_64.json using configuration
Program diff found: YES
Build targets in project: 215

qemu 5.1.50

            Install prefix: c:/Program Files/QEMU
            BIOS directory: c:/Program Files/QEMU
             firmware path: ${prefix}/share/qemu-firmware
          binary directory: c:/Program Files/QEMU
         library directory: c:/Program Files/QEMU/lib
          module directory: c:/Program Files/QEMU/lib
         libexec directory: c:/Program Files/QEMU/libexec
         include directory: c:/Program Files/QEMU/include
          config directory: c:/Program Files/QEMU
     local state directory: queried at runtime
           Build directory: /home/hsp/src/qemu-master/build
               Source path: /home/hsp/src/qemu-master
                GIT binary: git
            GIT submodules: ui/keycodemapdb tests/fp/berkeley-testfloat-3
tests/fp/berkeley-softfloat-3 meson dtc capstone slirp
                C compiler: x86_64-w64-mingw32-gcc
           Host C compiler: cc
              C++ compiler: x86_64-w64-mingw32-g++
                   ARFLAGS: rv
                    CFLAGS: -O2 -g -fno-pie -mthreads -std=gnu99 -Wall
               QEMU_CFLAGS:
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include/pixman-1
 -I/home/hsp/src/qemu-master/dtc/libfdt -Werror -U_FORTIFY_SOURCE
-D_FORTIFY_SOURCE=2 -I/usr/x86_64-w64-mingw32/sys-root/mingw/include
 -mms-bitfields -I/usr/x86_64-w64-mingw32/sys-root/mingw/include
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include/glib-2.0
-I/usr/x86_64-w64-mingw32/sys-root/mingw/lib/glib-2.0/include
-I/usr/x86_64-w64-mingw32/sys-root/mingw/include  -m64 -mcx16 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing -fno-common -fwrapv  -Wold-style-declaration
-Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k
-Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs
-Wendif-labels -Wexpansion-to-defined -Wno-missing-include-dirs
-Wno-shift-negative-value -Wno-psabi -fstack-protector-strong
-I/home/hsp/src/qemu-master/capstone/include
              QEMU_LDFLAGS: -L/home/hsp/src/qemu-master/build/dtc/libfdt
-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m64
 -fstack-protector-strong
                      make: make
                   install: install
                    python: /usr/bin/python3 (version: 3.8)
              sphinx-build:
               genisoimage: /usr/bin/genisoimage
             slirp support: YES
                      smbd: "/usr/sbin/smbd"
            module support: NO
                  host CPU: x86
           host endianness: little
               target list: ppc-softmmu
             gprof enabled: NO
            sparse enabled: NO
            strip binaries: YES
                  profiler: NO
              static build: YES
               SDL support: YES
         SDL image support: NO
               GTK support: YES
            GTK GL support: NO
               VTE support: NO
              TLS priority: "NORMAL"
            GNUTLS support: NO
                 libgcrypt: NO
                    nettle: NO
                  libtasn1: NO
                       PAM: NO
             iconv support: YES
            curses support: NO
             virgl support: NO
              curl support: NO
           mingw32 support: YES
             Audio drivers: dsound
      Block whitelist (rw):
      Block whitelist (ro):
            VirtFS support: NO
         Multipath support: NO
               VNC support: YES
          VNC SASL support: NO
          VNC JPEG support: YES
           VNC PNG support: YES
               xen support: NO
            brlapi support: NO
             Documentation: NO
                       PIE: NO
               vde support: NO
            netmap support: NO
         Linux AIO support: NO
    Linux io_uring support: NO
        ATTR/XATTR support: NO
             Install blobs: YES
       malloc trim support: NO
              RDMA support: NO
            PVRDMA support: NO
               fdt support: YES
                membarrier: NO
            preadv support: NO
                 fdatasync: NO
                   madvise: NO
             posix_madvise: NO
            posix_memalign: NO
         libcap-ng support: NO
         vhost-net support: NO
      vhost-crypto support: NO
        vhost-scsi support: NO
       vhost-vsock support: NO
        vhost-user support: NO
     vhost-user-fs support: NO
        vhost-vdpa support: NO
            Trace backends: log
             spice support: NO
               rbd support: NO
            xfsctl support: NO
         smartcard support: NO
                    libusb: YES
             usb net redir: NO
            OpenGL support: NO
            OpenGL dmabufs: NO
          libiscsi support: NO
            libnfs support: NO
         build guest agent: YES
           QGA VSS support: NO
         QGA w32 disk info: YES
           QGA MSI support: NO
           seccomp support: NO
         coroutine backend: win32
            coroutine pool: YES
         debug stack usage: NO
           mutex debugging: NO
              crypto afalg: NO
         GlusterFS support: NO
                      gcov: NO
               TPM support: NO
            libssh support: NO
             QOM debugging: YES
      Live block migration: YES
               lzo support: NO
            snappy support: NO
             bzip2 support: YES
             lzfse support: NO
              zstd support: NO
         NUMA host support: NO
                   libxml2: NO
          tcmalloc support: NO
          jemalloc support: NO
         avx2 optimization: YES
      avx512f optimization: NO
       replication support: YES
             bochs support: YES
             cloop support: YES
               dmg support: YES
           qcow v1 support: YES
               vdi support: YES
             vvfat support: YES
               qed support: YES
         parallels support: YES
          sheepdog support: YES
                  capstone: YES
           libpmem support: NO
         libdaxctl support: NO
                   libudev: NO
           default devices: YES
            plugin support: NO
           fuzzing support: NO
                       gdb: /usr/bin/gdb
          thread sanitizer: NO
                  rng-none: NO
             Linux keyring: NO

Found ninjatool-1.8 at /home/hsp/src/qemu-master/build/ninjatool
WARNING: custom_target 'shared QAPI source files' has more than one output!
Using the first one.
WARNING: custom_target 'QGA QAPI files' has more than one output! Using the
first one.
WARNING: custom_target 'QAPI files for qemu-storage-daemon' has more than
one output! Using the first one.
WARNING: custom_target 'QAPI doc' has more than one output! Using the first
one.
Command line for building ['libcommon.fa'] is long, using a response file
[hsp@localhost build]$ make -j4
....
[hsp@localhost build]$ ldd qemu-system-ppc.exe
not a dynamic executable
[hsp@localhost build]$ which ldd
/usr/bin/ldd
[hsp@localhost build]$

Best,
Howard

[-- Attachment #2: Type: text/html, Size: 12722 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-21 16:11       ` Howard Spoelstra
@ 2020-08-21 16:16         ` Paolo Bonzini
  0 siblings, 0 replies; 14+ messages in thread
From: Paolo Bonzini @ 2020-08-21 16:16 UTC (permalink / raw)
  To: Howard Spoelstra; +Cc: Peter Maydell, qemu-devel qemu-devel

On 21/08/20 18:11, Howard Spoelstra wrote:
> 
> 
> Found ninjatool-1.8 at /home/hsp/src/qemu-master/build/ninjatool
> WARNING: custom_target 'shared QAPI source files' has more than one
> output! Using the first one.
> WARNING: custom_target 'QGA QAPI files' has more than one output! Using
> the first one.
> WARNING: custom_target 'QAPI files for qemu-storage-daemon' has more
> than one output! Using the first one.
> WARNING: custom_target 'QAPI doc' has more than one output! Using the
> first one.
> Command line for building ['libcommon.fa'] is long, using a response file
> [hsp@localhost build]$ make -j4
> ....
> [hsp@localhost build]$ ldd qemu-system-ppc.exe
> not a dynamic executable

ldd is a Linux tool, a Windows .exe is just a junk file to it.  "Not a
dynamic executable" does not mean "it's a static executable", it means
"I cannot do anything with it".

Paolo

> [hsp@localhost build]$ which ldd
> /usr/bin/ldd
> [hsp@localhost build]$



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PULL v7 000/151] Meson-based build system
  2020-08-21 12:33     ` Paolo Bonzini
  2020-08-21 16:11       ` Howard Spoelstra
@ 2020-08-24 16:18       ` Daniel P. Berrangé
  1 sibling, 0 replies; 14+ messages in thread
From: Daniel P. Berrangé @ 2020-08-24 16:18 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: Peter Maydell, qemu-devel qemu-devel, Howard Spoelstra

On Fri, Aug 21, 2020 at 02:33:12PM +0200, Paolo Bonzini wrote:
> On 21/08/20 12:58, Howard Spoelstra wrote:
> > I investigated a bit further and saw:
> > ldd in Fedora tells me the executable is "not a dynamic executable".
> 
> How are you executing ldd?  I cross built a mingw executable from Fedora
> and it was definitely using system DLLs.
> 
> PIE builds and doesn't start (doesn't even reach main) but --disable-pie
> works just fine.  I don't know if the same issue is present under
> Windows or it's Wine-specific.

I've just hit this problem too,  and can demo it without QEMU involved

$ cat e.c
#include <stdio.h>
#include <stdlib.h>

  int main(int argc, char **argv) {    fprintf(stderr, "Hello\n");    exit(EXIT_SUCCESS); }

$ x86_64-w64-mingw32-gcc -pie -o e.exe e.c 

the resulting e.exe fails to run under *both* Wine and Windows 2008r2.

Either there's some extra magic compiler flags we need to pass to make
this work, or we need to just disable PIE on Windows. The original
pre-meson build used -no-pie AFAICT.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2020-08-24 16:19 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 21:32 [PULL v7 000/151] Meson-based build system Paolo Bonzini
2020-08-19 21:59 ` Eric Blake
2020-08-19 22:08   ` Paolo Bonzini
2020-08-20 10:33 ` Peter Maydell
2020-08-20 11:52   ` Paolo Bonzini
2020-08-20 14:54     ` Peter Maydell
2020-08-20 16:02       ` Paolo Bonzini
2020-08-20 16:10         ` Peter Maydell
2020-08-21  6:15 ` Howard Spoelstra
2020-08-21 10:58   ` Howard Spoelstra
2020-08-21 12:33     ` Paolo Bonzini
2020-08-21 16:11       ` Howard Spoelstra
2020-08-21 16:16         ` Paolo Bonzini
2020-08-24 16:18       ` Daniel P. Berrangé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).