+++ /dev/null
-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
--- /dev/null
+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"
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;
/* 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;
}
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'"},
{"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;
}
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.
*/
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 -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 @@
*/
#include <sys/resource.h>
#include <getopt.h>
#include <syslog.h>
-@@ -23,7 +24,6 @@
+@@ -22,7 +23,6 @@
+ #endif
#include <cap-ng.h>
- #include "qemu-common.h"
#include "qemu/sockets.h"
-#include "qemu/xattr.h"
#include "9p-iov-marshal.h"
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
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}
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
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
%{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
--enable-attr \
%{__enable_disable brlapi} \
--enable-cap-ng \
- --enable-capstone=system \
--enable-curl \
--enable-curses \
--enable-docs \
%{__enable_disable virgl virglrenderer} \
--enable-virtfs \
--enable-vnc-jpeg \
- --enable-vnc-png \
--enable-vnc-sasl \
%{!?with_vte:--disable-vte} \
%{__enable_disable xen} \
%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
%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
%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
+++ /dev/null
-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