[Buildroot] [git commit] package/qemu: bump to version 6.1.0
From: Yann E. MORIN <hidden>
Date: 2021-10-17 19:52:56
Subsystem:
the rest · Maintainer:
Linus Torvalds
commit: https://git.buildroot.net/buildroot/commit/?id=33c69c02fb4c1176584d1e2dd336b74ed39f5d65 branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master Remove upstream patches. Drop 0003-meson-add-tests-option.patch and disable the fp-bench build by default [1] Qemu now requires at least gcc 7.x to build. Disable optional dependency for eBPF RSS loader. See: https://wiki.qemu.org/ChangeLog/6.1#Build_Information [1] https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html Signed-off-by: Romain Naour <redacted> Signed-off-by: Yann E. MORIN <redacted> --- .../qemu/0002-Fix-build-with-64-bits-time_t.patch | 98 ---------------------- ...ests-fp-disable-fp-bench-build-by-default.patch | 28 +++++++ ...-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch} | 0 package/qemu/0003-meson-add-tests-option.patch | 94 --------------------- .../qemu/0004-Makefile-ignore-long-options.patch | 41 --------- .../0005-block-export-fuse.c-fix-musl-build.patch | 46 ---------- package/qemu/Config.in | 6 +- package/qemu/Config.in.host | 5 +- package/qemu/qemu.hash | 2 +- package/qemu/qemu.mk | 6 +- 10 files changed, 37 insertions(+), 289 deletions(-)
diff --git a/package/qemu/0002-Fix-build-with-64-bits-time_t.patch b/package/qemu/0002-Fix-build-with-64-bits-time_t.patch
deleted file mode 100644
index 934c0e28fd..0000000000
--- a/package/qemu/0002-Fix-build-with-64-bits-time_t.patch
+++ /dev/null@@ -1,98 +0,0 @@ -From 839e51aa452345b440f8d2d0df84ab58bdedfcd1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Sat, 14 Nov 2020 21:54:17 +0100 -Subject: [PATCH] Fix build with 64 bits time_t - -time element is deprecated on new input_event structure in kernel's -input.h [1] - -This will avoid the following build failure: - -hw/input/virtio-input-host.c: In function 'virtio_input_host_handle_status': -hw/input/virtio-input-host.c:198:28: error: 'struct input_event' has no member named 'time' - 198 | if (gettimeofday(&evdev.time, NULL)) { - | ^ - -Fixes: - - http://autobuild.buildroot.org/results/a538167e288c14208d557cd45446df86d3d599d5 - - http://autobuild.buildroot.org/results/efd4474fb4b6c0ce0ab3838ce130429c51e43bbb - -[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> ---- - contrib/vhost-user-input/main.c | 10 +++++++++- - hw/input/virtio-input-host.c | 10 +++++++++- - 2 files changed, 18 insertions(+), 2 deletions(-) - -diff --git a/contrib/vhost-user-input/main.c b/contrib/vhost-user-input/main.c -index 6020c6f33a..e688c3e0a9 100644 ---- a/contrib/vhost-user-input/main.c -+++ b/contrib/vhost-user-input/main.c -@@ -15,6 +15,11 @@ - #include "standard-headers/linux/virtio_input.h" - #include "qapi/error.h" - -+#ifndef input_event_sec -+#define input_event_sec time.tv_sec -+#define input_event_usec time.tv_usec -+#endif -+ - enum { - VHOST_USER_INPUT_MAX_QUEUES = 2, - }; -@@ -113,13 +118,16 @@ vi_evdev_watch(VuDev *dev, int condition, void *data) - static void vi_handle_status(VuInput *vi, virtio_input_event *event) - { - struct input_event evdev; -+ struct timeval tval; - int rc; - -- if (gettimeofday(&evdev.time, NULL)) { -+ if (gettimeofday(&tval, NULL)) { - perror("vi_handle_status: gettimeofday"); - return; - } - -+ evdev.input_event_sec = tval.tv_sec; -+ evdev.input_event_usec = tval.tv_usec; - evdev.type = le16toh(event->type); - evdev.code = le16toh(event->code); - evdev.value = le32toh(event->value); -diff --git a/hw/input/virtio-input-host.c b/hw/input/virtio-input-host.c -index 85daf73f1a..2e261737e1 100644 ---- a/hw/input/virtio-input-host.c -+++ b/hw/input/virtio-input-host.c -@@ -16,6 +16,11 @@ - #include <sys/ioctl.h> - #include "standard-headers/linux/input.h" - -+#ifndef input_event_sec -+#define input_event_sec time.tv_sec -+#define input_event_usec time.tv_usec -+#endif -+ - /* ----------------------------------------------------------------- */ - - static struct virtio_input_config virtio_input_host_config[] = { -@@ -193,13 +198,16 @@ static void virtio_input_host_handle_status(VirtIOInput *vinput, - { - VirtIOInputHost *vih = VIRTIO_INPUT_HOST(vinput); - struct input_event evdev; -+ struct timeval tval; - int rc; - -- if (gettimeofday(&evdev.time, NULL)) { -+ if (gettimeofday(&tval, NULL)) { - perror("virtio_input_host_handle_status: gettimeofday"); - return; - } - -+ evdev.input_event_sec = tval.tv_sec; -+ evdev.input_event_usec = tval.tv_usec; - evdev.type = le16_to_cpu(event->type); - evdev.code = le16_to_cpu(event->code); - evdev.value = le32_to_cpu(event->value); --- -2.29.2 -
diff --git a/package/qemu/0002-tests-fp-disable-fp-bench-build-by-default.patch b/package/qemu/0002-tests-fp-disable-fp-bench-build-by-default.patch
new file mode 100644
index 0000000000..9bc8d43d59
--- /dev/null
+++ b/package/qemu/0002-tests-fp-disable-fp-bench-build-by-default.patch@@ -0,0 +1,28 @@ +From f82238299d3c4cd23ca60cfc0cf4271f5c860873 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Wed, 25 Aug 2021 21:55:53 +0200 +Subject: [PATCH] tests/fp: disable fp-bench build by default + +Fixes: +https://lists.nongnu.org/archive/html/qemu-devel/2021-03/msg00947.html + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + tests/fp/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/fp/meson.build b/tests/fp/meson.build +index 07e2cdc8d2..c96460b7f1 100644 +--- a/tests/fp/meson.build ++++ b/tests/fp/meson.build +@@ -631,6 +631,7 @@ fpbench = executable( + dependencies: [qemuutil], + include_directories: [sfinc, include_directories(tfdir)], + c_args: fpcflags, ++ build_by_default: false, + ) + + fptestlog2 = executable( +-- +2.31.1 +
diff --git a/package/qemu/0006-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch b/package/qemu/0003-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch
similarity index 100%
rename from package/qemu/0006-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch
rename to package/qemu/0003-block-export-fuse.c-fix-fuse-lseek-on-uclibc-or-musl.patch
diff --git a/package/qemu/0003-meson-add-tests-option.patch b/package/qemu/0003-meson-add-tests-option.patch
deleted file mode 100644
index b52a7aaf2f..0000000000
--- a/package/qemu/0003-meson-add-tests-option.patch
+++ /dev/null@@ -1,94 +0,0 @@ -From c24f6cc8f847a4f90cd8fe0f94604862c5ac4a5e Mon Sep 17 00:00:00 2001 -From: Romain Naour <romain.naour@gmail.com> -Date: Mon, 21 Dec 2020 22:12:14 +0100 -Subject: [PATCH] meson: add tests option - -tests/fp/fp-bench.c use fenv.h that is not always provided -by the libc (uClibc). - -To workaround this issue, add an new meson option to -disable tests while building Qemu. - -Fixes: -http://autobuild.buildroot.net/results/53f5d8baa994d599b9da013ee643b82353366ec3/build-end.log - -Signed-off-by: Romain Naour <romain.naour@gmail.com> -Signed-off-by: Adam Duskett <aduskett@gmail.com> -Refresh for 6.0.0 ---- - configure | 7 +++++++ - meson.build | 5 ++++- - meson_options.txt | 2 ++ - 3 files changed, 13 insertions(+), 1 deletion(-) - -diff --git a/configure b/configure -index 18c26e0389..7cceae4418 100755 ---- a/configure -+++ b/configure -@@ -460,6 +460,7 @@ meson="" - ninja="" - skip_meson=no - gettext="auto" -+tests="auto" - fuse="auto" - fuse_lseek="auto" - multiprocess="auto" -@@ -1549,6 +1550,10 @@ for opt do - ;; - --disable-libdaxctl) libdaxctl=no - ;; -+ --disable-tests) tests="disabled" -+ ;; -+ --enable-tests) tests="enabled" -+ ;; - --enable-fuse) fuse="enabled" - ;; - --disable-fuse) fuse="disabled" -@@ -1915,6 +1920,7 @@ disabled with --disable-FEATURE, default is enabled if available - xkbcommon xkbcommon support - rng-none dummy RNG, avoid using /dev/(u)random and getrandom() - libdaxctl libdaxctl support -+ tests build tests - fuse FUSE block device export - fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports - multiprocess Out of process device emulation support -@@ -6422,6 +6428,7 @@ NINJA=$ninja $meson setup \ - -Dzstd=$zstd -Dseccomp=$seccomp -Dvirtfs=$virtfs -Dcap_ng=$cap_ng \ - -Dattr=$attr -Ddefault_devices=$default_devices \ - -Ddocs=$docs -Dsphinx_build=$sphinx_build -Dinstall_blobs=$blobs \ -+ -Dtests=$tests \ - -Dvhost_user_blk_server=$vhost_user_blk_server -Dmultiprocess=$multiprocess \ - -Dfuse=$fuse -Dfuse_lseek=$fuse_lseek -Dguest_agent_msi=$guest_agent_msi \ - $(if test "$default_features" = no; then echo "-Dauto_features=disabled"; fi) \ -diff --git a/meson.build b/meson.build -index e3386196ba..7f4efdc347 100644 ---- a/meson.build -+++ b/meson.build -@@ -2381,7 +2381,10 @@ subdir('scripts') - subdir('tools') - subdir('pc-bios') - subdir('docs') --subdir('tests') -+if get_option('tests').enabled() -+ subdir('tests') -+endif -+ - if gtk.found() - subdir('po') - endif -diff --git a/meson_options.txt b/meson_options.txt -index f6f64785fe..81bffbfe87 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -111,6 +111,8 @@ option('fuse_lseek', type : 'feature', value : 'auto', - - option('vhost_user_blk_server', type: 'feature', value: 'auto', - description: 'build vhost-user-blk server') -+option('tests', type : 'feature', value : 'auto', -+ description: 'Tests build support') - option('virtfs', type: 'feature', value: 'auto', - description: 'virtio-9p support') - option('virtiofsd', type: 'feature', value: 'auto', --- -2.29.2 -
diff --git a/package/qemu/0004-Makefile-ignore-long-options.patch b/package/qemu/0004-Makefile-ignore-long-options.patch
deleted file mode 100644
index 2d14b70c03..0000000000
--- a/package/qemu/0004-Makefile-ignore-long-options.patch
+++ /dev/null@@ -1,41 +0,0 @@ -From 14833e24dea49303ebc2464813601054b6cdfcac Mon Sep 17 00:00:00 2001 -From: Alexey Neyman <stilor@att.net> -Date: Wed, 21 Jul 2021 19:08:46 -0700 -Subject: [PATCH] Makefile: ignore long options - -When searching for options like -n in MAKEFLAGS, current code may result -in a false positive match when make is invoked with long options like ---no-print-directory. This has been observed with certain versions of -host make (e.g. 3.82) while building the Qemu package in buildroot. - -Filter out such long options before searching for one-character options. - -Signed-off-by: Alexey Neyman <stilor@att.net> -Message-Id: <20210722020846.3678817-1-stilor@att.net> -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> ---- - Makefile | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 6c36330eef..401c623a65 100644 ---- a/Makefile -+++ b/Makefile -@@ -129,9 +129,11 @@ endif - # 4. Rules to bridge to other makefiles - - ifneq ($(NINJA),) --MAKE.n = $(findstring n,$(firstword $(MAKEFLAGS))) --MAKE.k = $(findstring k,$(firstword $(MAKEFLAGS))) --MAKE.q = $(findstring q,$(firstword $(MAKEFLAGS))) -+# Filter out long options to avoid flags like --no-print-directory which -+# may result in false positive match for MAKE.n -+MAKE.n = $(findstring n,$(firstword $(filter-out --%,$(MAKEFLAGS)))) -+MAKE.k = $(findstring k,$(firstword $(filter-out --%,$(MAKEFLAGS)))) -+MAKE.q = $(findstring q,$(firstword $(filter-out --%,$(MAKEFLAGS)))) - MAKE.nq = $(if $(word 2, $(MAKE.n) $(MAKE.q)),nq) - NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \ - $(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) \ --- -2.27.0 -
diff --git a/package/qemu/0005-block-export-fuse.c-fix-musl-build.patch b/package/qemu/0005-block-export-fuse.c-fix-musl-build.patch
deleted file mode 100644
index 0da6b3ff73..0000000000
--- a/package/qemu/0005-block-export-fuse.c-fix-musl-build.patch
+++ /dev/null@@ -1,46 +0,0 @@ -From 4d5280c066eb46a31556044fb52c2618928b0019 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine <fontaine.fabrice@gmail.com> -Date: Mon, 9 Aug 2021 10:04:07 +0200 -Subject: [PATCH] block/export/fuse.c: fix musl build - -Fix the following build failure on musl raised since version 6.0.0 and -https://gitlab.com/qemu-project/qemu/-/commit/4ca37a96a75aafe7a37ba51ab1912b09b7190a6b -because musl does not define FALLOC_FL_ZERO_RANGE: - -../block/export/fuse.c: In function 'fuse_fallocate': -../block/export/fuse.c:563:23: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function) - 563 | } else if (mode & FALLOC_FL_ZERO_RANGE) { - | ^~~~~~~~~~~~~~~~~~~~ - -Fixes: - - http://autobuild.buildroot.org/results/b96e3d364fd1f8bbfb18904a742e73327d308f64 - -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> -[Upstream status: sent to qemu-devel@nongnu.org] ---- - block/export/fuse.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/block/export/fuse.c b/block/export/fuse.c -index ada9e263eb..07e31129a6 100644 ---- a/block/export/fuse.c -+++ b/block/export/fuse.c -@@ -635,6 +635,7 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t inode, int mode, - offset += size; - length -= size; - } while (ret == 0 && length > 0); -+#ifdef FALLOC_FL_ZERO_RANGE - } else if (mode & FALLOC_FL_ZERO_RANGE) { - if (!(mode & FALLOC_FL_KEEP_SIZE) && offset + length > blk_len) { - /* No need for zeroes, we are going to write them ourselves */ -@@ -654,6 +655,7 @@ static void fuse_fallocate(fuse_req_t req, fuse_ino_t inode, int mode, - offset += size; - length -= size; - } while (ret == 0 && length > 0); -+#endif - } else if (!mode) { - /* We can only fallocate at the EOF with a truncate */ - if (offset < blk_len) { --- -2.30.2 -
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 391fd5faaf..763550dbd6 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in@@ -5,14 +5,16 @@ config BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET || BR2_x86_64 || BR2_arm \ || BR2_powerpc64 || BR2_powerpc64le -comment "QEMU requires a toolchain with wchar, threads" +comment "QEMU requires a toolchain with wchar, threads, gcc >= 7" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET depends on BR2_USE_MMU - depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) + depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_USE_WCHAR) || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 config BR2_PACKAGE_QEMU bool "QEMU" depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # gettext depends on BR2_USE_MMU # fork()
diff --git a/package/qemu/Config.in.host b/package/qemu/Config.in.host
index fedf90d8b7..a5b38c081b 100644
--- a/package/qemu/Config.in.host
+++ b/package/qemu/Config.in.host@@ -37,6 +37,7 @@ config BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS config BR2_PACKAGE_HOST_QEMU bool "host qemu" depends on BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS || BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_7 select BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE \ if !BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE && BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS select BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE \
@@ -93,11 +94,7 @@ config BR2_PACKAGE_HOST_QEMU_VIRTFS config BR2_PACKAGE_HOST_QEMU_USB bool "USB passthrough support" - depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-libusb help Enables USB passthrough support from guest to host. -comment "USB passthrough support needs a toolchain w/ host gcc >= 4.9" - depends on !BR2_HOST_GCC_AT_LEAST_4_9 - endif
diff --git a/package/qemu/qemu.hash b/package/qemu/qemu.hash
index 5e873791b8..0613fce493 100644
--- a/package/qemu/qemu.hash
+++ b/package/qemu/qemu.hash@@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 87bc1a471ca24b97e7005711066007d443423d19aacda3d442558ae032fa30b9 qemu-6.0.0.tar.xz +sha256 eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96 qemu-6.1.0.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index 520618cd55..95f3dfe54f 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk@@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 6.0.0 +QEMU_VERSION = 6.1.0 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz QEMU_SITE = http://download.qemu.org QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c
@@ -186,6 +186,7 @@ define QEMU_CONFIGURE_CMDS --enable-kvm \ --enable-attr \ --enable-vhost-net \ + --disable-bpf \ --disable-bsd-user \ --disable-containers \ --disable-xen \
@@ -215,7 +216,6 @@ define QEMU_CONFIGURE_CMDS --disable-opengl \ --disable-vhost-user-blk-server \ --disable-virtiofsd \ - --disable-tests \ $(QEMU_OPTS) endef
@@ -351,6 +351,7 @@ define HOST_QEMU_CONFIGURE_CMDS --extra-ldflags="$(HOST_LDFLAGS)" \ --meson=$(HOST_DIR)/bin/meson \ --ninja=$(HOST_DIR)/bin/ninja \ + --disable-bpf \ --disable-bzip2 \ --disable-containers \ --disable-curl \
@@ -362,7 +363,6 @@ define HOST_QEMU_CONFIGURE_CMDS --disable-vnc-jpeg \ --disable-vnc-png \ --disable-vnc-sasl \ - --disable-tests \ $(HOST_QEMU_OPTS) endef
_______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot