All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/12] (Mostly) build system patches for 2023-05-26
@ 2023-05-26 16:08 Paolo Bonzini
  2023-05-26 16:08 ` [PULL 01/12] tests/docker: simplify HOST_ARCH definition Paolo Bonzini
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit a3cb6d5004ff638aefe686ecd540718a793bd1b1:

  Merge tag 'pull-tcg-20230525' of https://gitlab.com/rth7680/qemu into staging (2023-05-25 11:11:52 -0700)

are available in the Git repository at:

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

for you to fetch changes up to b17bbf835c8998e93fd99b06164f1d63843fe8c9:

  configure: ignore --make (2023-05-26 12:36:20 +0200)

----------------------------------------------------------------
* build system fixes and cleanups
* use subproject() for the dtc and keycodemapdb submodules
* fix virtio memory leak
* update slirp.wrap to latest commit in the master branch

----------------------------------------------------------------
Fabiano Rosas (2):
      meson: Remove leftover comment
      meson: Add static glib dependency for initrd-stress.img

Paolo Bonzini (10):
      tests/docker: simplify HOST_ARCH definition
      tests/vm: fix and simplify HOST_ARCH definition
      Makefile: remove $(TESTS_PYTHON)
      configure: unset harmful environment variables
      slirp: update wrap to latest master
      virtio: qmp: fix memory leak
      meson: simplify logic for -Dfdt
      meson: use subproject for internal libfdt
      meson: use subproject for keycodemapdb
      configure: ignore --make

 .gitmodules                      |  8 +++---
 configure                        | 29 +++++----------------
 hw/virtio/virtio-qmp.c           | 11 ++++----
 meson.build                      | 54 ++++++++++++++--------------------------
 scripts/archive-source.sh        |  2 +-
 dtc => subprojects/dtc           |  0
 {ui => subprojects}/keycodemapdb |  0
 subprojects/slirp.wrap           |  2 +-
 tests/Makefile.include           |  8 +++---
 tests/docker/Makefile.include    |  2 +-
 tests/migration/meson.build      |  4 ++-
 tests/vm/Makefile.include        |  7 +++---
 ui/meson.build                   |  8 +++---
 13 files changed, 50 insertions(+), 85 deletions(-)
 rename dtc => subprojects/dtc (100%)
 rename {ui => subprojects}/keycodemapdb (100%)
-- 
2.40.1



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

* [PULL 01/12] tests/docker: simplify HOST_ARCH definition
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 02/12] tests/vm: fix and " Paolo Bonzini
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée

ARCH is always empty, so just define HOST_ARCH as the result of uname.

Acked-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/docker/Makefile.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 94015253254c..142e8605eee9 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -6,7 +6,7 @@ NULL :=
 SPACE := $(NULL) #
 COMMA := ,
 
-HOST_ARCH = $(if $(ARCH),$(ARCH),$(shell uname -m))
+HOST_ARCH = $(shell uname -m)
 USER = $(if $(NOUSER),,$(shell id -un))
 UID = $(if $(NOUSER),,$(shell id -u))
 
-- 
2.40.1



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

* [PULL 02/12] tests/vm: fix and simplify HOST_ARCH definition
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
  2023-05-26 16:08 ` [PULL 01/12] tests/docker: simplify HOST_ARCH definition Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 03/12] Makefile: remove $(TESTS_PYTHON) Paolo Bonzini
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: John Snow, Alex Bennée

ARCH is always empty, so just define HOST_ARCH as the result of uname.
The incorrect definition was not being used because the "ifeq" statement
is wrong; replace it with the same idiom based on $(realpath) that the
main Makefile uses.

With this change, vm-build-netbsd in a configured tree will not use
the PYTHONPATH hack.

Reported-by: John Snow <jsnow@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/vm/Makefile.include | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index 2cc2203d0916..c2a8ca1c175a 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -1,14 +1,12 @@
 # Makefile for VM tests
 
 # Hack to allow running in an unconfigured build tree
-ifeq ($(wildcard $(SRC_PATH)/config-host.mak),)
+ifeq ($(realpath $(SRC_PATH)),$(realpath .))
 VM_PYTHON = PYTHONPATH=$(SRC_PATH)/python /usr/bin/env python3
 VM_VENV =
-HOST_ARCH := $(shell uname -m)
 else
 VM_PYTHON = $(TESTS_PYTHON)
 VM_VENV = check-venv
-HOST_ARCH = $(ARCH)
 endif
 
 .PHONY: vm-build-all vm-clean-all
@@ -23,6 +21,7 @@ ARM64_IMAGES += ubuntu.aarch64 centos.aarch64
 endif
 endif
 
+HOST_ARCH = $(shell uname -m)
 ifeq ($(HOST_ARCH),x86_64)
 IMAGES=$(X86_IMAGES) $(if $(USE_TCG),$(ARM64_IMAGES))
 else ifeq ($(HOST_ARCH),aarch64)
-- 
2.40.1



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

* [PULL 03/12] Makefile: remove $(TESTS_PYTHON)
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
  2023-05-26 16:08 ` [PULL 01/12] tests/docker: simplify HOST_ARCH definition Paolo Bonzini
  2023-05-26 16:08 ` [PULL 02/12] tests/vm: fix and " Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 04/12] configure: unset harmful environment variables Paolo Bonzini
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée

It is now the same as $(PYTHON), since the latter always points at pyvenv/bin/python3.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/Makefile.include    | 8 +++-----
 tests/vm/Makefile.include | 2 +-
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 5b838ec438b0..0184ef223737 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -89,11 +89,9 @@ distclean-tcg: $(DISTCLEAN_TCG_TARGET_RULES)
 # Build up our target list from the filtered list of ninja targets
 TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
 
-TESTS_VENV_DIR=$(BUILD_DIR)/pyvenv
 TESTS_VENV_TOKEN=$(BUILD_DIR)/pyvenv/tests.group
 TESTS_VENV_REQ=$(SRC_PATH)/tests/requirements.txt
 TESTS_RESULTS_DIR=$(BUILD_DIR)/tests/results
-TESTS_PYTHON=$(TESTS_VENV_DIR)/bin/python3
 ifndef AVOCADO_TESTS
 	AVOCADO_TESTS=tests/avocado
 endif
@@ -109,7 +107,7 @@ else
 endif
 
 quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \
-    $(TESTS_PYTHON) -m pip -q --disable-pip-version-check $1, \
+    $(PYTHON) -m pip -q --disable-pip-version-check $1, \
     "VENVPIP","$1")
 
 $(TESTS_VENV_TOKEN): $(TESTS_VENV_REQ)
@@ -131,7 +129,7 @@ FEDORA_31_DOWNLOAD=$(filter $(FEDORA_31_ARCHES),$(FEDORA_31_ARCHES_CANDIDATES))
 # download one specific Fedora 31 image
 get-vm-image-fedora-31-%: check-venv
 	$(call quiet-command, \
-             $(TESTS_PYTHON) -m avocado vmimage get \
+             $(PYTHON) -m avocado vmimage get \
              --distro=fedora --distro-version=31 --arch=$*, \
 	"AVOCADO", "Downloading avocado tests VM image for $*")
 
@@ -142,7 +140,7 @@ JOBS_OPTION=$(lastword -j1 $(filter-out -j, $(filter -j%,$(MAKEFLAGS))))
 
 check-avocado: check-venv $(TESTS_RESULTS_DIR) get-vm-images
 	$(call quiet-command, 							\
-            $(TESTS_PYTHON) -m avocado 						\
+            $(PYTHON) -m avocado 						\
             --show=$(AVOCADO_SHOW) run --job-results-dir=$(TESTS_RESULTS_DIR) 	\
             $(if $(AVOCADO_TAGS),, 						\
 			--filter-by-tags-include-empty 				\
diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index c2a8ca1c175a..f0f5d32fb0f0 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -5,7 +5,7 @@ ifeq ($(realpath $(SRC_PATH)),$(realpath .))
 VM_PYTHON = PYTHONPATH=$(SRC_PATH)/python /usr/bin/env python3
 VM_VENV =
 else
-VM_PYTHON = $(TESTS_PYTHON)
+VM_PYTHON = $(PYTHON)
 VM_VENV = check-venv
 endif
 
-- 
2.40.1



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

* [PULL 04/12] configure: unset harmful environment variables
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (2 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 03/12] Makefile: remove $(TESTS_PYTHON) Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-27 15:57   ` Michael Tokarev
  2023-05-26 16:08 ` [PULL 05/12] meson: Remove leftover comment Paolo Bonzini
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Juan Quintela, qemu-stable

Apart from CLICOLOR_FORCE and GREP_OPTIONS, there are other variables
that are listed in the Autoconf manual.  While Autoconf neutralizes them
very early, and assumes it does not (yet) run in a shell that has "unset",
QEMU assumes that the user invoked configure under a POSIX shell, and
therefore can simply use "unset" to clear them.

CDPATH is particularly nasty because it messes up "cd ... && pwd".

Reported-by: Juan Quintela <quintela@redhat.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 80ca1c922151..9cdce69b7852 100755
--- a/configure
+++ b/configure
@@ -4,9 +4,8 @@
 #
 
 # Unset some variables known to interfere with behavior of common tools,
-# just as autoconf does.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
+# just as autoconf does.  Unlike autoconf, we assume that unset exists.
+unset CLICOLOR_FORCE GREP_OPTIONS BASH_ENV ENV MAIL MAILPATH CDPATH
 
 # Don't allow CCACHE, if present, to use cached results of compile tests!
 export CCACHE_RECACHE=yes
-- 
2.40.1



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

* [PULL 05/12] meson: Remove leftover comment
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (3 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 04/12] configure: unset harmful environment variables Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 06/12] meson: Add static glib dependency for initrd-stress.img Paolo Bonzini
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Fabiano Rosas

From: Fabiano Rosas <farosas@suse.de>

Commit d2e6f9272d ("fuzz: remove fork-fuzzing scaffolding") removed
the linker script and forgot to remove the comment.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Message-Id: <20230525212044.30222-2-farosas@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 meson.build | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meson.build b/meson.build
index 78890f01550a..ee1b7dac730b 100644
--- a/meson.build
+++ b/meson.build
@@ -404,8 +404,6 @@ if targetos != 'sunos' and not get_option('tsan')
   qemu_ldflags += cc.get_supported_link_arguments('-Wl,--warn-common')
 endif
 
-# Specify linker-script with add_project_link_arguments so that it is not placed
-# within a linker --start-group/--end-group pair
 if get_option('fuzzing')
   # Specify a filter to only instrument code that is directly related to
   # virtual-devices.
-- 
2.40.1



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

* [PULL 06/12] meson: Add static glib dependency for initrd-stress.img
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (4 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 05/12] meson: Remove leftover comment Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 07/12] slirp: update wrap to latest master Paolo Bonzini
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Fabiano Rosas

From: Fabiano Rosas <farosas@suse.de>

We recently moved glib detection code to meson but this changes the
linker command line from -lglib-2.0 to using a path to libglib-2.0.so.
This does not work for static linking, which is used by stress.c:

 $ make V=1 tests/migration/initrd-stress.img
 cc -m64 -mcx16 -o tests/migration/stress ... -static -Wl,--start-group
 /usr/lib64/libglib-2.0.so -Wl,--end-group
 ...
 bin/ld: attempted static link of dynamic object `/usr/lib64/libglib-2.0.so'

Add a specific dependency for stress.c, which is linked statically.
The compiler command line is now:

 cc -m64 -mcx16 -o tests/migration/stress ... -static -pthread
 -Wl,--start-group -lm /usr/lib64/libpcre.a -lglib-2.0 -Wl,--end-group

Fixes: fc9a809e0d ("build: move glib detection and workarounds to meson")
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Message-Id: <20230525212044.30222-3-farosas@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/migration/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/migration/meson.build b/tests/migration/meson.build
index dd562355a16e..ac71f1329014 100644
--- a/tests/migration/meson.build
+++ b/tests/migration/meson.build
@@ -1,9 +1,11 @@
 sysprof = dependency('sysprof-capture-4', required: false)
+glib_static = dependency('glib-2.0', version: glib_req_ver, required: false,
+                         method: 'pkg-config', static: true)
 
 stress = executable(
   'stress',
   files('stress.c'),
-  dependencies: [glib, sysprof],
+  dependencies: [glib_static, sysprof],
   link_args: ['-static'],
   build_by_default: false,
 )
-- 
2.40.1



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

* [PULL 07/12] slirp: update wrap to latest master
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (5 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 06/12] meson: Add static glib dependency for initrd-stress.img Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 08/12] virtio: qmp: fix memory leak Paolo Bonzini
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Tokarev

It is recommended to use SSIZE_T for ssize_t on win32, but the commit
that is being used for slirp.wrap uses int.  Update to include the fix
as well as the other bugfix commit "ip: Enforce strict aliasing".

Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 subprojects/slirp.wrap | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/subprojects/slirp.wrap b/subprojects/slirp.wrap
index ace4f26102f5..08291a4cf99a 100644
--- a/subprojects/slirp.wrap
+++ b/subprojects/slirp.wrap
@@ -1,6 +1,6 @@
 [wrap-git]
 url = https://gitlab.freedesktop.org/slirp/libslirp
-revision = 15c52d697529eb3e78c5d8aa324d61715bce33b6
+revision = 26be815b86e8d49add8c9a8b320239b9594ff03d
 
 [provide]
 slirp = libslirp_dep
-- 
2.40.1



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

* [PULL 08/12] virtio: qmp: fix memory leak
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (6 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 07/12] slirp: update wrap to latest master Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-27  9:30   ` Michael Tokarev
  2023-05-26 16:08 ` [PULL 09/12] meson: simplify logic for -Dfdt Paolo Bonzini
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P . Berrangé

The VirtioInfoList is already allocated by QAPI_LIST_PREPEND and
need not be allocated by the caller.

Fixes Coverity CID 1508724.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/virtio/virtio-qmp.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/hw/virtio/virtio-qmp.c b/hw/virtio/virtio-qmp.c
index e84316dcfd21..b5e183529971 100644
--- a/hw/virtio/virtio-qmp.c
+++ b/hw/virtio/virtio-qmp.c
@@ -668,7 +668,7 @@ VirtioDeviceFeatures *qmp_decode_features(uint16_t device_id, uint64_t bitmap)
 VirtioInfoList *qmp_x_query_virtio(Error **errp)
 {
     VirtioInfoList *list = NULL;
-    VirtioInfoList *node;
+    VirtioInfo *node;
     VirtIODevice *vdev;
 
     QTAILQ_FOREACH(vdev, &virtio_list, next) {
@@ -682,11 +682,10 @@ VirtioInfoList *qmp_x_query_virtio(Error **errp)
             if (!strncmp(is_realized->str, "false", 4)) {
                 QTAILQ_REMOVE(&virtio_list, vdev, next);
             } else {
-                node = g_new0(VirtioInfoList, 1);
-                node->value = g_new(VirtioInfo, 1);
-                node->value->path = g_strdup(dev->canonical_path);
-                node->value->name = g_strdup(vdev->name);
-                QAPI_LIST_PREPEND(list, node->value);
+                node = g_new(VirtioInfo, 1);
+                node->path = g_strdup(dev->canonical_path);
+                node->name = g_strdup(vdev->name);
+                QAPI_LIST_PREPEND(list, node);
             }
            g_string_free(is_realized, true);
         }
-- 
2.40.1



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

* [PULL 09/12] meson: simplify logic for -Dfdt
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (7 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 08/12] virtio: qmp: fix memory leak Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 10/12] meson: use subproject for internal libfdt Paolo Bonzini
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P . Berrangé

fdt_opt == 'disabled' is going to give an error if libfdt is required
by any target, so catch that immediately.  For fdt_opt == 'enabled',
instead, do not check immediately whether the internal libfdt is present.
Instead do the check after ascertaining that libfdt is absent or too old.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 meson.build | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/meson.build b/meson.build
index ee1b7dac730b..218428841d36 100644
--- a/meson.build
+++ b/meson.build
@@ -3059,13 +3059,14 @@ if have_system and vfio_user_server_allowed
 endif
 
 fdt = not_found
-if have_system
-  fdt_opt = get_option('fdt')
+fdt_opt = get_option('fdt')
+if fdt_required.length() > 0 or fdt_opt == 'enabled'
+  if fdt_opt == 'disabled'
+    error('fdt disabled but required by targets ' + ', '.join(fdt_required))
+  endif
+
   if fdt_opt in ['enabled', 'auto', 'system']
-    have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
-    fdt = cc.find_library('fdt',
-                          required: fdt_opt == 'system' or
-                                    fdt_opt == 'enabled' and not have_internal)
+    fdt = cc.find_library('fdt', required: fdt_opt == 'system')
     if fdt.found() and cc.links('''
        #include <libfdt.h>
        #include <libfdt_env.h>
@@ -3074,14 +3075,19 @@ if have_system
       fdt_opt = 'system'
     elif fdt_opt == 'system'
        error('system libfdt requested, but it is too old (1.5.1 or newer required)')
-    elif have_internal
-      fdt_opt = 'internal'
     else
-      fdt_opt = 'disabled'
+      fdt_opt = 'internal'
       fdt = not_found
     endif
   endif
-  if fdt_opt == 'internal'
+  if not fdt.found()
+    assert(fdt_opt == 'internal')
+    have_internal = fs.exists(meson.current_source_dir() / 'subprojects/dtc/meson.build')
+
+    if not have_internal
+      error('libfdt source not found - please pull git submodule')
+    endif
+
     fdt_files = files(
       'dtc/libfdt/fdt.c',
       'dtc/libfdt/fdt_ro.c',
@@ -3106,9 +3112,6 @@ if have_system
 else
   fdt_opt = 'disabled'
 endif
-if not fdt.found() and fdt_required.length() > 0
-  error('fdt not available but required by targets ' + ', '.join(fdt_required))
-endif
 
 config_host_data.set('CONFIG_CAPSTONE', capstone.found())
 config_host_data.set('CONFIG_FDT', fdt.found())
-- 
2.40.1



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

* [PULL 10/12] meson: use subproject for internal libfdt
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (8 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 09/12] meson: simplify logic for -Dfdt Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 11/12] meson: use subproject for keycodemapdb Paolo Bonzini
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P . Berrangé

Recent dtc/libfdt can use either Make or meson as the build system.
By using a subproject, our own meson.build can remove the hard
coded list of source files.

This is also the first step towards managing downloads with .wrap
files instead of submodule.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .gitmodules               |  4 ++--
 configure                 |  2 +-
 meson.build               | 24 ++++--------------------
 scripts/archive-source.sh |  2 +-
 dtc => subprojects/dtc    |  0
 5 files changed, 8 insertions(+), 24 deletions(-)
 rename dtc => subprojects/dtc (100%)

diff --git a/.gitmodules b/.gitmodules
index 2a3a12033c4b..3ed5d073d630 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,8 +13,8 @@
 [submodule "roms/qemu-palcode"]
 	path = roms/qemu-palcode
 	url = https://gitlab.com/qemu-project/qemu-palcode.git
-[submodule "dtc"]
-	path = dtc
+[submodule "subprojects/dtc"]
+	path = subprojects/dtc
 	url = https://gitlab.com/qemu-project/dtc.git
 [submodule "roms/u-boot"]
 	path = roms/u-boot
diff --git a/configure b/configure
index 9cdce69b7852..d42bbd07310b 100755
--- a/configure
+++ b/configure
@@ -1187,7 +1187,7 @@ fi
 case "$fdt" in
   auto | enabled | internal)
     # Simpler to always update submodule, even if not needed.
-    git_submodules="${git_submodules} dtc"
+    git_submodules="${git_submodules} subprojects/dtc"
     ;;
 esac
 
diff --git a/meson.build b/meson.build
index 218428841d36..884b16c74962 100644
--- a/meson.build
+++ b/meson.build
@@ -3088,26 +3088,10 @@ if fdt_required.length() > 0 or fdt_opt == 'enabled'
       error('libfdt source not found - please pull git submodule')
     endif
 
-    fdt_files = files(
-      'dtc/libfdt/fdt.c',
-      'dtc/libfdt/fdt_ro.c',
-      'dtc/libfdt/fdt_wip.c',
-      'dtc/libfdt/fdt_sw.c',
-      'dtc/libfdt/fdt_rw.c',
-      'dtc/libfdt/fdt_strerror.c',
-      'dtc/libfdt/fdt_empty_tree.c',
-      'dtc/libfdt/fdt_addresses.c',
-      'dtc/libfdt/fdt_overlay.c',
-      'dtc/libfdt/fdt_check.c',
-    )
-
-    fdt_inc = include_directories('dtc/libfdt')
-    libfdt = static_library('fdt',
-                            build_by_default: false,
-                            sources: fdt_files,
-                            include_directories: fdt_inc)
-    fdt = declare_dependency(link_with: libfdt,
-                             include_directories: fdt_inc)
+    libfdt_proj = subproject('dtc', required: true,
+                             default_options: ['tools=false',  'yaml=disabled',
+                                               'python=disabled', 'default_library=static'])
+    fdt = libfdt_proj.get_variable('libfdt_dep')
   endif
 else
   fdt_opt = 'disabled'
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index c03532915471..a7c2886334f0 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar"
 # independent of what the developer currently has initialized
 # in their checkout, because the build environment is completely
 # different to the host OS.
-submodules="dtc ui/keycodemapdb"
+submodules="subprojects/dtc ui/keycodemapdb"
 submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
 sub_deinit=""
 
diff --git a/dtc b/subprojects/dtc
similarity index 100%
rename from dtc
rename to subprojects/dtc
-- 
2.40.1



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

* [PULL 11/12] meson: use subproject for keycodemapdb
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (9 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 10/12] meson: use subproject for internal libfdt Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-26 16:08 ` [PULL 12/12] configure: ignore --make Paolo Bonzini
  2023-05-27  0:16 ` [PULL 00/12] (Mostly) build system patches for 2023-05-26 Richard Henderson
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Daniel P . Berrangé

By using a subproject, our own meson.build can use variables from
the subproject instead of hard-coded paths.  This is also the first step
towards managing downloads with .wrap files instead of submodule.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 .gitmodules                      | 4 ++--
 configure                        | 4 ++--
 scripts/archive-source.sh        | 2 +-
 {ui => subprojects}/keycodemapdb | 0
 ui/meson.build                   | 8 ++++----
 5 files changed, 9 insertions(+), 9 deletions(-)
 rename {ui => subprojects}/keycodemapdb (100%)

diff --git a/.gitmodules b/.gitmodules
index 3ed5d073d630..f8b2ddf3877c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -25,8 +25,8 @@
 [submodule "roms/QemuMacDrivers"]
 	path = roms/QemuMacDrivers
 	url = https://gitlab.com/qemu-project/QemuMacDrivers.git
-[submodule "ui/keycodemapdb"]
-	path = ui/keycodemapdb
+[submodule "subprojects/keycodemapdb"]
+	path = subprojects/keycodemapdb
 	url = https://gitlab.com/qemu-project/keycodemapdb.git
 [submodule "roms/seabios-hppa"]
 	path = roms/seabios-hppa
diff --git a/configure b/configure
index d42bbd07310b..0e9305848955 100755
--- a/configure
+++ b/configure
@@ -253,7 +253,7 @@ else
     git_submodules_action="ignore"
 fi
 
-git_submodules="ui/keycodemapdb"
+git_submodules="subprojects/keycodemapdb"
 git="git"
 debug_tcg="no"
 docs="auto"
@@ -805,7 +805,7 @@ case $git_submodules_action in
         fi
     ;;
     ignore)
-        if ! test -f "$source_path/ui/keycodemapdb/README"
+        if ! test -f "$source_path/subprojects/keycodemapdb/README"
         then
             echo
             echo "ERROR: missing GIT submodules"
diff --git a/scripts/archive-source.sh b/scripts/archive-source.sh
index a7c2886334f0..dba5ae05b67e 100755
--- a/scripts/archive-source.sh
+++ b/scripts/archive-source.sh
@@ -26,7 +26,7 @@ sub_file="${sub_tdir}/submodule.tar"
 # independent of what the developer currently has initialized
 # in their checkout, because the build environment is completely
 # different to the host OS.
-submodules="subprojects/dtc ui/keycodemapdb"
+submodules="subprojects/dtc subprojects/keycodemapdb"
 submodules="$submodules tests/fp/berkeley-softfloat-3 tests/fp/berkeley-testfloat-3"
 sub_deinit=""
 
diff --git a/ui/keycodemapdb b/subprojects/keycodemapdb
similarity index 100%
rename from ui/keycodemapdb
rename to subprojects/keycodemapdb
diff --git a/ui/meson.build b/ui/meson.build
index 330369707dd7..e09b616a66bc 100644
--- a/ui/meson.build
+++ b/ui/meson.build
@@ -162,15 +162,15 @@ keymaps = [
 ]
 
 if have_system or xkbcommon.found()
+  keycodemapdb_proj = subproject('keycodemapdb', required: true)
   foreach e : keymaps
     output = 'input-keymap-@0@-to-@1@.c.inc'.format(e[0], e[1])
     genh += custom_target(output,
                   output: output,
                   capture: true,
-                  input: files('keycodemapdb/data/keymaps.csv'),
-                  command: [python, files('keycodemapdb/tools/keymap-gen'),
-                            'code-map',
-                            '--lang', 'glib2',
+                  input: keycodemapdb_proj.get_variable('keymaps_csv'),
+                  command: [python, keycodemapdb_proj.get_variable('keymap_gen').full_path(),
+                            'code-map', '--lang', 'glib2',
                             '--varname', 'qemu_input_map_@0@_to_@1@'.format(e[0], e[1]),
                             '@INPUT0@', e[0], e[1]])
   endforeach
-- 
2.40.1



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

* [PULL 12/12] configure: ignore --make
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (10 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 11/12] meson: use subproject for keycodemapdb Paolo Bonzini
@ 2023-05-26 16:08 ` Paolo Bonzini
  2023-05-27  0:16 ` [PULL 00/12] (Mostly) build system patches for 2023-05-26 Richard Henderson
  12 siblings, 0 replies; 17+ messages in thread
From: Paolo Bonzini @ 2023-05-26 16:08 UTC (permalink / raw)
  To: qemu-devel

Setting the MAKE variable to a GNU Make executable does not really have
any effect: if a non-GNU Make is used, the QEMU Makefile will fail to
parse.  Just remove everything related to --make and $make as dead code.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure   | 18 +-----------------
 meson.build |  1 -
 2 files changed, 1 insertion(+), 18 deletions(-)

diff --git a/configure b/configure
index 0e9305848955..d674a9667310 100755
--- a/configure
+++ b/configure
@@ -400,20 +400,16 @@ gnu/kfreebsd)
 ;;
 freebsd)
   bsd="yes"
-  make="${MAKE-gmake}"
   # needed for kinfo_getvmmap(3) in libutil.h
 ;;
 dragonfly)
   bsd="yes"
-  make="${MAKE-gmake}"
 ;;
 netbsd)
   bsd="yes"
-  make="${MAKE-gmake}"
 ;;
 openbsd)
   bsd="yes"
-  make="${MAKE-gmake}"
 ;;
 darwin)
   bsd="yes"
@@ -421,7 +417,6 @@ darwin)
 ;;
 sunos)
   solaris="yes"
-  make="${MAKE-gmake}"
 ;;
 haiku)
   pie="no"
@@ -525,9 +520,6 @@ case "$cpu" in
     CPU_CFLAGS="-m64 -mcpu=ultrasparc" ;;
 esac
 
-: ${make=${MAKE-make}}
-
-
 check_py_version() {
     # We require python >= 3.7.
     # NB: a True python conditional creates a non-zero return code (Failure)
@@ -630,7 +622,7 @@ for opt do
   ;;
   --objcc=*)
   ;;
-  --make=*) make="$optarg"
+  --make=*)
   ;;
   --install=*)
   ;;
@@ -897,7 +889,6 @@ Advanced options (experts only):
   --cross-cc-ARCH=CC       use compiler when building ARCH guest test cases
   --cross-cc-cflags-ARCH=  use compiler flags when building ARCH guest tests
   --cross-prefix-ARCH=PREFIX cross compiler prefix when building ARCH guest test cases
-  --make=MAKE              use specified make [$make]
   --python=PYTHON          use specified python [$python]
   --ninja=NINJA            use specified ninja [$ninja]
   --smbd=SMBD              use specified smbd [$smbd]
@@ -950,11 +941,6 @@ then
     fi
 fi
 
-if ! has "$make"
-then
-    error_exit "GNU make ($make) not found"
-fi
-
 if ! check_py_version "$python"; then
   error_exit "Cannot use '$python', Python >= 3.7 is required." \
              "Use --python=/path/to/python to specify a supported Python." \
@@ -1777,7 +1763,6 @@ if test "$container" != no; then
     echo "RUNC=$runc" >> $config_host_mak
 fi
 echo "ROMS=$roms" >> $config_host_mak
-echo "MAKE=$make" >> $config_host_mak
 echo "PYTHON=$python" >> $config_host_mak
 echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
 echo "MESON=$meson" >> $config_host_mak
@@ -2030,7 +2015,6 @@ preserve_env CXXFLAGS
 preserve_env LD
 preserve_env LDFLAGS
 preserve_env LD_LIBRARY_PATH
-preserve_env MAKE
 preserve_env NM
 preserve_env OBJCFLAGS
 preserve_env OBJCOPY
diff --git a/meson.build b/meson.build
index 884b16c74962..2d48aa1e2ef3 100644
--- a/meson.build
+++ b/meson.build
@@ -4028,7 +4028,6 @@ summary(summary_info, bool_yn: true, section: 'Directories')
 # Host binaries
 summary_info = {}
 summary_info += {'git':               config_host['GIT']}
-summary_info += {'make':              config_host['MAKE']}
 summary_info += {'python':            '@0@ (version: @1@)'.format(python.full_path(), python.language_version())}
 summary_info += {'sphinx-build':      sphinx_build}
 if config_host.has_key('HAVE_GDB_BIN')
-- 
2.40.1



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

* Re: [PULL 00/12] (Mostly) build system patches for 2023-05-26
  2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
                   ` (11 preceding siblings ...)
  2023-05-26 16:08 ` [PULL 12/12] configure: ignore --make Paolo Bonzini
@ 2023-05-27  0:16 ` Richard Henderson
  12 siblings, 0 replies; 17+ messages in thread
From: Richard Henderson @ 2023-05-27  0:16 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel

On 5/26/23 09:08, Paolo Bonzini wrote:
> The following changes since commit a3cb6d5004ff638aefe686ecd540718a793bd1b1:
> 
>    Merge tag 'pull-tcg-20230525' of https://gitlab.com/rth7680/qemu into staging (2023-05-25 11:11:52 -0700)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/bonzini/qemu.git tags/for-upstream
> 
> for you to fetch changes up to b17bbf835c8998e93fd99b06164f1d63843fe8c9:
> 
>    configure: ignore --make (2023-05-26 12:36:20 +0200)
> 
> ----------------------------------------------------------------
> * build system fixes and cleanups
> * use subproject() for the dtc and keycodemapdb submodules
> * fix virtio memory leak
> * update slirp.wrap to latest commit in the master branch

Applied, thanks.  Please update https://wiki.qemu.org/ChangeLog/8.1 as appropriate.


r~




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

* Re: [PULL 08/12] virtio: qmp: fix memory leak
  2023-05-26 16:08 ` [PULL 08/12] virtio: qmp: fix memory leak Paolo Bonzini
@ 2023-05-27  9:30   ` Michael Tokarev
  0 siblings, 0 replies; 17+ messages in thread
From: Michael Tokarev @ 2023-05-27  9:30 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: Daniel P . Berrangé

26.05.2023 19:08, Paolo Bonzini wrote:
> The VirtioInfoList is already allocated by QAPI_LIST_PREPEND and
> need not be allocated by the caller.
> 
> Fixes Coverity CID 1508724.

Not sure it is worth the effort but it seems this is a stable-8.0
material, no?

Thanks,

/mjt


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

* Re: [PULL 04/12] configure: unset harmful environment variables
  2023-05-26 16:08 ` [PULL 04/12] configure: unset harmful environment variables Paolo Bonzini
@ 2023-05-27 15:57   ` Michael Tokarev
  2023-05-28 18:11     ` Juan Quintela
  0 siblings, 1 reply; 17+ messages in thread
From: Michael Tokarev @ 2023-05-27 15:57 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel; +Cc: Juan Quintela, qemu-stable

26.05.2023 19:08, Paolo Bonzini wrote:
..
>   # Unset some variables known to interfere with behavior of common tools,
> -# just as autoconf does.
> -CLICOLOR_FORCE= GREP_OPTIONS=
> -unset CLICOLOR_FORCE GREP_OPTIONS
> +# just as autoconf does.  Unlike autoconf, we assume that unset exists.
> +unset CLICOLOR_FORCE GREP_OPTIONS BASH_ENV ENV MAIL MAILPATH CDPATH

Wonder how relevant all this is.

gnu grep (from coreutils) does not document and does not use $GREP_OPTIONS.

While $BASH_ENV is relevant for non-interactive mode (ie, when running as
a script), but this variable a) is not used when it is invoked as sh (as
opposed to bash), and b) it is a way to pass actual additional configuration
to the shell, -- we do not override $PATH, do we? So why we override $BASH_ENV?
For example, with $BASH_ENV, one can turn on tracing of shell functions, which
is nearly impossible now when everything is run from within meson.
Ditto for $ENV.

Others - MAIL and MAILPATH? - those are only relevant for interactive usage,
and only when mail actually goes to /var/mail/$user (or equivalent), it does
not matter for scripts at all.

CLICOLOR_FORCE is interesting, and it was there before already.  It looks like
whomever set that, don't really care about things like ./configure failing due
to grep et al trying to color-paint its output.  This variable shouldn't be used
normally, it smells like a single-use thing - eg, to force color when output is
displayed within less(1), or when grepping output but keeping colors.  If it
is set in environment before ./configure is run, it's not our fault.

Now we come to CDPATH. But even there, it should not contain something else besides
"." (current dir) as the first element, it's kinda interesting when CDPATH has
something else in there.  We've been here for like decades, and this is the
first time we've hit this.

Do we _really_ need to reset all this? Especially the $ENV and $BASH_ENV thing,
which are useful..

But oh well :)

/mjt


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

* Re: [PULL 04/12] configure: unset harmful environment variables
  2023-05-27 15:57   ` Michael Tokarev
@ 2023-05-28 18:11     ` Juan Quintela
  0 siblings, 0 replies; 17+ messages in thread
From: Juan Quintela @ 2023-05-28 18:11 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: Paolo Bonzini, qemu-devel, qemu-stable

Michael Tokarev <mjt@tls.msk.ru> wrote:
> 26.05.2023 19:08, Paolo Bonzini wrote:
> ..
>>   # Unset some variables known to interfere with behavior of common tools,
>> -# just as autoconf does.
>> -CLICOLOR_FORCE= GREP_OPTIONS=
>> -unset CLICOLOR_FORCE GREP_OPTIONS
>> +# just as autoconf does.  Unlike autoconf, we assume that unset exists.
>> +unset CLICOLOR_FORCE GREP_OPTIONS BASH_ENV ENV MAIL MAILPATH CDPATH
>
> Wonder how relevant all this is.
>
> gnu grep (from coreutils) does not document and does not use $GREP_OPTIONS.
>
> While $BASH_ENV is relevant for non-interactive mode (ie, when running as
> a script), but this variable a) is not used when it is invoked as sh (as
> opposed to bash), and b) it is a way to pass actual additional configuration
> to the shell, -- we do not override $PATH, do we? So why we override $BASH_ENV?
> For example, with $BASH_ENV, one can turn on tracing of shell functions, which
> is nearly impossible now when everything is run from within meson.
> Ditto for $ENV.
>
> Others - MAIL and MAILPATH? - those are only relevant for interactive usage,
> and only when mail actually goes to /var/mail/$user (or equivalent), it does
> not matter for scripts at all.
>
> CLICOLOR_FORCE is interesting, and it was there before already.  It looks like
> whomever set that, don't really care about things like ./configure failing due
> to grep et al trying to color-paint its output.  This variable shouldn't be used
> normally, it smells like a single-use thing - eg, to force color when output is
> displayed within less(1), or when grepping output but keeping colors.  If it
> is set in environment before ./configure is run, it's not our fault.
>
> Now we come to CDPATH. But even there, it should not contain something else besides
> "." (current dir) as the first element, it's kinda interesting when CDPATH has
> something else in there.  We've been here for like decades, and this is the
> first time we've hit this.
>
> Do we _really_ need to reset all this? Especially the $ENV and $BASH_ENV thing,
> which are useful..

CDPATH -> It broke my setup, I have had this on my .bashrc since the
90's:

export CDPATH=.:~/work:/scratch/

For the rest, I don't know.  But if autoconf disables them, some weird
system, somewhere in the world makes this fail.

Later, Juan.



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

end of thread, other threads:[~2023-05-28 18:12 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-26 16:08 [PULL 00/12] (Mostly) build system patches for 2023-05-26 Paolo Bonzini
2023-05-26 16:08 ` [PULL 01/12] tests/docker: simplify HOST_ARCH definition Paolo Bonzini
2023-05-26 16:08 ` [PULL 02/12] tests/vm: fix and " Paolo Bonzini
2023-05-26 16:08 ` [PULL 03/12] Makefile: remove $(TESTS_PYTHON) Paolo Bonzini
2023-05-26 16:08 ` [PULL 04/12] configure: unset harmful environment variables Paolo Bonzini
2023-05-27 15:57   ` Michael Tokarev
2023-05-28 18:11     ` Juan Quintela
2023-05-26 16:08 ` [PULL 05/12] meson: Remove leftover comment Paolo Bonzini
2023-05-26 16:08 ` [PULL 06/12] meson: Add static glib dependency for initrd-stress.img Paolo Bonzini
2023-05-26 16:08 ` [PULL 07/12] slirp: update wrap to latest master Paolo Bonzini
2023-05-26 16:08 ` [PULL 08/12] virtio: qmp: fix memory leak Paolo Bonzini
2023-05-27  9:30   ` Michael Tokarev
2023-05-26 16:08 ` [PULL 09/12] meson: simplify logic for -Dfdt Paolo Bonzini
2023-05-26 16:08 ` [PULL 10/12] meson: use subproject for internal libfdt Paolo Bonzini
2023-05-26 16:08 ` [PULL 11/12] meson: use subproject for keycodemapdb Paolo Bonzini
2023-05-26 16:08 ` [PULL 12/12] configure: ignore --make Paolo Bonzini
2023-05-27  0:16 ` [PULL 00/12] (Mostly) build system patches for 2023-05-26 Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.