+++ /dev/null
-diff -ur qemu-8.0.3.orig/linux-user/syscall.c qemu-8.0.3/linux-user/syscall.c
---- qemu-8.0.3.orig/linux-user/syscall.c 2023-07-22 14:27:06.999503109 +0200
-+++ qemu-8.0.3/linux-user/syscall.c 2023-07-22 15:21:31.161543522 +0200
-@@ -659,6 +659,7 @@
- #endif
- safe_syscall5(int, waitid, idtype_t, idtype, id_t, id, siginfo_t *, infop, \
- int, options, struct rusage *, rusage)
-+safe_syscall3(int, execve, const char *, filename, char **, argv, char **, envp)
- safe_syscall5(int, execveat, int, dirfd, const char *, filename,
- char **, argv, char **, envp, int, flags)
- #if defined(TARGET_NR_select) || defined(TARGET_NR__newselect) || \
-@@ -8388,9 +8389,9 @@
- return safe_openat(dirfd, path(pathname), flags, mode);
- }
-
--static int do_execveat(CPUArchState *cpu_env, int dirfd,
-- abi_long pathname, abi_long guest_argp,
-- abi_long guest_envp, int flags)
-+static int do_execv(CPUArchState *cpu_env, int dirfd,
-+ abi_long pathname, abi_long guest_argp,
-+ abi_long guest_envp, int flags, bool is_execveat)
- {
- int ret;
- char **argp, **envp;
-@@ -8469,11 +8470,14 @@
- goto execve_efault;
- }
-
-+ const char *exe = p;
- if (is_proc_myself(p, "exe")) {
-- ret = get_errno(safe_execveat(dirfd, exec_path, argp, envp, flags));
-- } else {
-- ret = get_errno(safe_execveat(dirfd, p, argp, envp, flags));
-+ exe = exec_path;
- }
-+ ret = is_execveat
-+ ? safe_execveat(dirfd, exe, argp, envp, flags)
-+ : safe_execve(exe, argp, envp);
-+ ret = get_errno(ret);
-
- unlock_user(p, pathname, 0);
-
-@@ -9012,9 +9016,9 @@
- return ret;
- #endif
- case TARGET_NR_execveat:
-- return do_execveat(cpu_env, arg1, arg2, arg3, arg4, arg5);
-+ return do_execv(cpu_env, arg1, arg2, arg3, arg4, arg5, true);
- case TARGET_NR_execve:
-- return do_execveat(cpu_env, AT_FDCWD, arg1, arg2, arg3, 0);
-+ return do_execv(cpu_env, AT_FDCWD, arg1, arg2, arg3, 0, false);
- case TARGET_NR_chdir:
- if (!(p = lock_user_string(arg1)))
- return -TARGET_EFAULT;
+++ /dev/null
-diff -ur qemu-8.0.3.orig/configure qemu-8.0.3/configure
---- qemu-8.0.3.orig/configure 2023-07-22 14:25:13.756890443 +0200
-+++ qemu-8.0.3/configure 2023-07-22 14:25:40.988278232 +0200
-@@ -278,7 +278,6 @@
- debug_tcg="no"
- sanitizers="no"
- tsan="no"
--fortify_source="yes"
- EXESUF=""
- modules="no"
- prefix="/usr/local"
-@@ -809,7 +808,6 @@
- meson_option_parse --enable-debug-graph-lock ""
- meson_option_parse --enable-debug-mutex ""
- meson_option_add -Doptimization=0
-- fortify_source="no"
- ;;
- --enable-sanitizers) sanitizers="yes"
- ;;
-@@ -1718,20 +1716,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
-
-@@ -2234,10 +2218,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"
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 8.0.3
+Version: 8.1.3
Release: 1
License: GPL v2, BSD (edk2 firmware files)
Group: Applications/Emulators
Source0: https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: d41853bffb18878dd1ff7afc2eb41f1a
+# Source0-md5: 0396afcd3f4cd8d98ee70339c657f3a0
# Loads kvm kernel modules at boot
Source3: kvm-modules-load.conf
# Creates /dev/kvm
Source12: 99-%{name}-guest-agent.rules
Source13: %{name}-guest-agent.init
Source14: %{name}-guest-agent.logrotate
-Patch0: %{name}-no-fortify.patch
-Patch2: %{name}-execve.patch
Patch3: %{name}-xattr.patch
Patch4: libjpeg-boolean.patch
Patch5: %{name}-u2f-emu.patch
%prep
%setup -q
-%patch0 -p1
-%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1