From 03e2dc25997fc63182b12f2932412c0dc1ccdcfd Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Fri, 2 Sep 2022 18:17:03 +0200 Subject: [PATCH] - updated to 7.1.0 --- qemu-cflags.patch | 17 -------------- qemu-no-fortify.patch | 51 ++++++++++++++++++++++++++++++++++++++++++ qemu-user-execve.patch | 28 +++++++++++------------ qemu-xattr.patch | 10 ++++----- qemu.spec | 36 +++++++++++++++++++++++------ x32.patch | 12 ---------- 6 files changed, 99 insertions(+), 55 deletions(-) delete mode 100644 qemu-cflags.patch create mode 100644 qemu-no-fortify.patch delete mode 100644 x32.patch diff --git a/qemu-cflags.patch b/qemu-cflags.patch deleted file mode 100644 index c256177..0000000 --- a/qemu-cflags.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -ur qemu-7.0.0.orig/configure qemu-7.0.0/configure ---- qemu-7.0.0.orig/configure 2022-06-03 00:23:06.016501497 +0200 -+++ qemu-7.0.0/configure 2022-06-03 00:23:29.668549512 +0200 -@@ -2627,13 +2627,6 @@ - - write_c_skeleton - --if test "$gcov" = "yes" ; then -- : --elif test "$fortify_source" = "yes" ; then -- QEMU_CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $QEMU_CFLAGS" -- debug=no --fi -- - case "$ARCH" in - alpha) - # Ensure there's only a single GP diff --git a/qemu-no-fortify.patch b/qemu-no-fortify.patch new file mode 100644 index 0000000..587f30a --- /dev/null +++ b/qemu-no-fortify.patch @@ -0,0 +1,51 @@ +diff -ur qemu-7.1.0.orig/configure qemu-7.1.0/configure +--- qemu-7.1.0.orig/configure 2022-09-02 16:07:34.783540992 +0200 ++++ qemu-7.1.0/configure 2022-09-02 16:11:03.625989858 +0200 +@@ -299,7 +299,6 @@ + debug_tcg="no" + sanitizers="no" + tsan="no" +-fortify_source="yes" + EXESUF="" + modules="no" + prefix="/usr/local" +@@ -819,7 +818,6 @@ + debug_tcg="yes" + meson_option_parse --enable-debug-mutex "" + meson_option_add -Doptimization=0 +- fortify_source="no" + ;; + --enable-sanitizers) sanitizers="yes" + ;; +@@ -1743,20 +1741,6 @@ + ccache_cpp2=yes + fi + +-################################################# +-# clang does not support glibc + FORTIFY_SOURCE. +- +-if test "$fortify_source" != "no"; then +- if echo | $cc -dM -E - | grep __clang__ > /dev/null 2>&1 ; then +- fortify_source="no"; +- elif test -n "$cxx" && has $cxx && +- echo | $cxx -dM -E - | grep __clang__ >/dev/null 2>&1 ; then +- fortify_source="no"; +- else +- fortify_source="yes" +- fi +-fi +- + ########################################## + # checks for sanitizers + +@@ -2246,10 +2230,6 @@ + + write_c_skeleton + +-if test "$fortify_source" = "yes" ; then +- QEMU_CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 $QEMU_CFLAGS" +-fi +- + if test "$have_asan" = "yes"; then + QEMU_CFLAGS="-fsanitize=address $QEMU_CFLAGS" + QEMU_LDFLAGS="-fsanitize=address $QEMU_LDFLAGS" diff --git a/qemu-user-execve.patch b/qemu-user-execve.patch index ada84ce..bbaf83e 100644 --- a/qemu-user-execve.patch +++ b/qemu-user-execve.patch @@ -45,10 +45,10 @@ Reviewed-by: Laurent Vivier v3 changes: - rebase the patchset against current code -diff -urNpa qemu-7.0.0.orig/linux-user/main.c qemu-7.0.0/linux-user/main.c ---- qemu-7.0.0.orig/linux-user/main.c 2022-06-03 00:24:41.355695042 +0200 -+++ qemu-7.0.0/linux-user/main.c 2022-06-03 00:25:03.067739119 +0200 -@@ -119,6 +119,7 @@ static void usage(int exitcode); +diff -urNpa qemu-7.1.0.orig/linux-user/main.c qemu-7.1.0/linux-user/main.c +--- qemu-7.1.0.orig/linux-user/main.c 2022-09-02 16:12:25.825166528 +0200 ++++ qemu-7.1.0/linux-user/main.c 2022-09-02 16:12:55.593230519 +0200 +@@ -123,6 +123,7 @@ static void usage(int exitcode); static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX; const char *qemu_uname_release; @@ -56,7 +56,7 @@ diff -urNpa qemu-7.0.0.orig/linux-user/main.c qemu-7.0.0/linux-user/main.c /* XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so we allocate a bigger stack. Need a better solution, for example -@@ -352,6 +353,11 @@ static void handle_arg_guest_base(const +@@ -356,6 +357,11 @@ static void handle_arg_guest_base(const have_guest_base = true; } @@ -68,7 +68,7 @@ diff -urNpa qemu-7.0.0.orig/linux-user/main.c qemu-7.0.0/linux-user/main.c static void handle_arg_reserved_va(const char *arg) { char *p; -@@ -454,6 +460,8 @@ static const struct qemu_argument arg_ta +@@ -458,6 +464,8 @@ static const struct qemu_argument arg_ta "uname", "set qemu uname release string to 'uname'"}, {"B", "QEMU_GUEST_BASE", true, handle_arg_guest_base, "address", "set guest_base address to 'address'"}, @@ -77,10 +77,10 @@ diff -urNpa qemu-7.0.0.orig/linux-user/main.c qemu-7.0.0/linux-user/main.c {"R", "QEMU_RESERVED_VA", true, handle_arg_reserved_va, "size", "reserve 'size' bytes for guest virtual address space"}, {"d", "QEMU_LOG", true, handle_arg_log, -diff -urNpa qemu-7.0.0.orig/linux-user/syscall.c qemu-7.0.0/linux-user/syscall.c ---- qemu-7.0.0.orig/linux-user/syscall.c 2022-06-03 00:24:41.357695046 +0200 -+++ qemu-7.0.0/linux-user/syscall.c 2022-06-03 00:25:03.070739125 +0200 -@@ -8300,6 +8300,109 @@ static target_timer_t get_timer_id(abi_l +diff -urNpa qemu-7.1.0.orig/linux-user/syscall.c qemu-7.1.0/linux-user/syscall.c +--- qemu-7.1.0.orig/linux-user/syscall.c 2022-09-02 16:12:25.833166545 +0200 ++++ qemu-7.1.0/linux-user/syscall.c 2022-09-02 16:12:55.595230523 +0200 +@@ -8330,6 +8330,109 @@ static target_timer_t get_timer_id(abi_l return timerid; } @@ -190,7 +190,7 @@ diff -urNpa qemu-7.0.0.orig/linux-user/syscall.c qemu-7.0.0/linux-user/syscall.c static int target_to_host_cpu_mask(unsigned long *host_mask, size_t host_size, abi_ulong target_addr, -@@ -8813,7 +8916,12 @@ static abi_long do_syscall1(void *cpu_en +@@ -8843,7 +8946,12 @@ static abi_long do_syscall1(CPUArchState * before the execve completes and makes it the other * program's problem. */ @@ -204,9 +204,9 @@ diff -urNpa qemu-7.0.0.orig/linux-user/syscall.c qemu-7.0.0/linux-user/syscall.c unlock_user(p, arg1, 0); goto execve_end; -diff -urNpa qemu-7.0.0.orig/linux-user/user-internals.h qemu-7.0.0/linux-user/user-internals.h ---- qemu-7.0.0.orig/linux-user/user-internals.h 2022-06-03 00:24:41.355695042 +0200 -+++ qemu-7.0.0/linux-user/user-internals.h 2022-06-03 00:25:03.070739125 +0200 +diff -urNpa qemu-7.1.0.orig/linux-user/user-internals.h qemu-7.1.0/linux-user/user-internals.h +--- qemu-7.1.0.orig/linux-user/user-internals.h 2022-09-02 16:12:25.822166522 +0200 ++++ qemu-7.1.0/linux-user/user-internals.h 2022-09-02 16:12:55.595230523 +0200 @@ -27,6 +27,7 @@ void init_task_state(TaskState *ts); void task_settid(TaskState *); void stop_all_tasks(void); diff --git a/qemu-xattr.patch b/qemu-xattr.patch index 92e9498..b76f5f9 100644 --- a/qemu-xattr.patch +++ b/qemu-xattr.patch @@ -1,6 +1,6 @@ -diff -ur qemu-7.0.0.orig/fsdev/virtfs-proxy-helper.c qemu-7.0.0/fsdev/virtfs-proxy-helper.c ---- qemu-7.0.0.orig/fsdev/virtfs-proxy-helper.c 2022-06-03 00:26:58.520973498 +0200 -+++ qemu-7.0.0/fsdev/virtfs-proxy-helper.c 2022-06-03 00:27:13.052002997 +0200 +diff -ur qemu-7.1.0.orig/fsdev/virtfs-proxy-helper.c qemu-7.1.0/fsdev/virtfs-proxy-helper.c +--- qemu-7.1.0.orig/fsdev/virtfs-proxy-helper.c 2022-09-02 16:14:57.215491914 +0200 ++++ qemu-7.1.0/fsdev/virtfs-proxy-helper.c 2022-09-02 16:15:29.826562009 +0200 @@ -10,6 +10,7 @@ */ @@ -9,9 +9,9 @@ diff -ur qemu-7.0.0.orig/fsdev/virtfs-proxy-helper.c qemu-7.0.0/fsdev/virtfs-pro #include #include #include -@@ -23,7 +24,6 @@ +@@ -22,7 +23,6 @@ + #endif #include - #include "qemu-common.h" #include "qemu/sockets.h" -#include "qemu/xattr.h" #include "9p-iov-marshal.h" diff --git a/qemu.spec b/qemu.spec index 3fbd4b0..4d7c9ca 100644 --- a/qemu.spec +++ b/qemu.spec @@ -43,12 +43,12 @@ Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 7.0.0 +Version: 7.1.0 Release: 1 License: GPL v2, BSD (edk2 firmware files) Group: Applications/Emulators Source0: https://download.qemu.org/%{name}-%{version}.tar.xz -# Source0-md5: bfb5b09a0d1f887c8c42a6d5f26971ab +# Source0-md5: 3be5458a9171b4ec5220c65d5d52bdcf # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm @@ -61,11 +61,10 @@ Source10: ksmtuned.conf Source12: 99-%{name}-guest-agent.rules Source13: %{name}-guest-agent.init Source14: %{name}-guest-agent.logrotate -Patch0: %{name}-cflags.patch +Patch0: %{name}-no-fortify.patch Patch2: %{name}-user-execve.patch Patch3: %{name}-xattr.patch Patch4: libjpeg-boolean.patch -Patch5: x32.patch URL: https://www.qemu.org/ %{?with_opengl:BuildRequires: Mesa-libgbm-devel} %{?with_opengl:BuildRequires: OpenGL-GLX-devel} @@ -459,6 +458,25 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem HP/PA (PA-RISC). +%package system-loongarch +Summary: QEMU system emulator for Loongson +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Loongson +Group: Applications/Emulators +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-loongarch +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. + +This package provides the system emulator with Loongson CPU. + +%description system-loongarch -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem Loongson. + %package system-m68k Summary: QEMU system emulator for m68k Summary(pl.UTF-8): QEMU - emulator systemu z procesorem m68k @@ -914,7 +932,6 @@ Sondy systemtap/dtrace dla QEMU. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap @@ -960,7 +977,6 @@ build dynamic \ --enable-attr \ %{__enable_disable brlapi} \ --enable-cap-ng \ - --enable-capstone=system \ --enable-curl \ --enable-curses \ --enable-docs \ @@ -989,7 +1005,6 @@ build dynamic \ %{__enable_disable virgl virglrenderer} \ --enable-virtfs \ --enable-vnc-jpeg \ - --enable-vnc-png \ --enable-vnc-sasl \ %{!?with_vte:--disable-vte} \ %{__enable_disable xen} \ @@ -1238,6 +1253,7 @@ fi %attr(755,root,root) %{_bindir}/qemu-hppa %attr(755,root,root) %{_bindir}/qemu-i386 %attr(755,root,root) %{_bindir}/qemu-io +%attr(755,root,root) %{_bindir}/qemu-loongarch64 %attr(755,root,root) %{_bindir}/qemu-m68k %attr(755,root,root) %{_bindir}/qemu-microblaze %attr(755,root,root) %{_bindir}/qemu-microblazeel @@ -1276,6 +1292,7 @@ fi %attr(755,root,root) %{_bindir}/qemu-hexagon-static %attr(755,root,root) %{_bindir}/qemu-hppa-static %attr(755,root,root) %{_bindir}/qemu-i386-static +%attr(755,root,root) %{_bindir}/qemu-loongarch64-static %attr(755,root,root) %{_bindir}/qemu-m68k-static %attr(755,root,root) %{_bindir}/qemu-microblaze-static %attr(755,root,root) %{_bindir}/qemu-microblazeel-static @@ -1343,6 +1360,11 @@ fi %attr(755,root,root) %{_libdir}/%{name}/accel-qtest-hppa.so %{_datadir}/%{name}/hppa-firmware.img +%files system-loongarch +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-loongarch64 +%attr(755,root,root) %{_libdir}/%{name}/accel-qtest-loongarch64.so + %files system-m68k %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-m68k diff --git a/x32.patch b/x32.patch deleted file mode 100644 index 6088130..0000000 --- a/x32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur qemu-7.0.0.orig/configure qemu-7.0.0/configure ---- qemu-7.0.0.orig/configure 2022-06-03 00:32:41.475669725 +0200 -+++ qemu-7.0.0/configure 2022-06-03 00:33:45.782798282 +0200 -@@ -2701,7 +2701,7 @@ - - # Mac OS X ships with a broken assembler - roms= --if { test "$cpu" = "i386" || test "$cpu" = "x86_64"; } && \ -+if { test "$cpu" = "i386" || test "$cpu" = "x86_64" || test "$cpu" = "x32"; } && \ - test "$targetos" != "darwin" && test "$targetos" != "sunos" && \ - test "$targetos" != "haiku" && test "$softmmu" = yes ; then - # Different host OS linkers have different ideas about the name of the ELF -- 2.46.0