v3 changes:
- rebase the patchset against current code
-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
+diff -urNpa qemu-7.2.0.orig/linux-user/main.c qemu-7.2.0/linux-user/main.c
+--- qemu-7.2.0.orig/linux-user/main.c 2023-02-08 21:23:07.149156085 +0100
++++ qemu-7.2.0/linux-user/main.c 2023-02-08 21:23:36.695149312 +0100
@@ -123,6 +123,7 @@ static void usage(int exitcode);
static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
const char *qemu_uname_release;
+const char *qemu_execve_path;
+ #if !defined(TARGET_DEFAULT_STACK_SIZE)
/* XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so
- we allocate a bigger stack. Need a better solution, for example
-@@ -356,6 +357,11 @@ static void handle_arg_guest_base(const
+@@ -362,6 +363,11 @@ static void handle_arg_guest_base(const
have_guest_base = true;
}
static void handle_arg_reserved_va(const char *arg)
{
char *p;
-@@ -458,6 +464,8 @@ static const struct qemu_argument arg_ta
+@@ -464,6 +470,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.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
+diff -urNpa qemu-7.2.0.orig/linux-user/syscall.c qemu-7.2.0/linux-user/syscall.c
+--- qemu-7.2.0.orig/linux-user/syscall.c 2023-02-08 21:23:07.150156084 +0100
++++ qemu-7.2.0/linux-user/syscall.c 2023-02-08 21:28:50.327077355 +0100
+@@ -8378,6 +8378,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,
-@@ -8843,7 +8946,12 @@ static abi_long do_syscall1(CPUArchState
- * before the execve completes and makes it the other
+@@ -8933,9 +9036,17 @@ static abi_long do_syscall1(CPUArchState
* program's problem.
*/
-- ret = get_errno(safe_execve(p, argp, envp));
-+ if (qemu_execve_path && *qemu_execve_path) {
-+ ret = get_errno(qemu_execve(p, argp, envp));
-+ } else {
-+ ret = get_errno(safe_execve(p, argp, envp));
-+ }
-+
+ if (is_proc_myself(p, "exe")) {
+- ret = get_errno(safe_execve(exec_path, argp, envp));
++ if (qemu_execve_path && *qemu_execve_path) {
++ ret = get_errno(qemu_execve(exec_path, argp, envp));
++ } else {
++ ret = get_errno(safe_execve(exec_path, argp, envp));
++ }
+ } else {
+- ret = get_errno(safe_execve(p, argp, envp));
++ if (qemu_execve_path && *qemu_execve_path) {
++ ret = get_errno(qemu_execve(p, argp, envp));
++ } else {
++ ret = get_errno(safe_execve(p, argp, envp));
++ }
+ }
unlock_user(p, arg1, 0);
- goto execve_end;
-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
+diff -urNpa qemu-7.2.0.orig/linux-user/user-internals.h qemu-7.2.0/linux-user/user-internals.h
+--- qemu-7.2.0.orig/linux-user/user-internals.h 2023-02-08 21:23:07.148156085 +0100
++++ qemu-7.2.0/linux-user/user-internals.h 2023-02-08 21:23:36.697149312 +0100
@@ -27,6 +27,7 @@ void init_task_state(TaskState *ts);
void task_settid(TaskState *);
void stop_all_tasks(void);
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 7.1.0
+Version: 7.2.0
Release: 1
License: GPL v2, BSD (edk2 firmware files)
Group: Applications/Emulators
Source0: https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: 3be5458a9171b4ec5220c65d5d52bdcf
+# Source0-md5: 7630d6a9eba7ab2bcb9979d6d24c2697
# Loads kvm kernel modules at boot
Source3: kvm-modules-load.conf
# Creates /dev/kvm
%{?with_rdma:BuildRequires: librdmacm-devel}
%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
BuildRequires: libssh-devel >= 0.8
-BuildRequires: libslirp-devel >= 4.0.0
# for tests only
#BuildRequires: libtasn1-devel
BuildRequires: libusb-devel >= 1.0.22
%if %{with seccomp} \
Requires: libseccomp >= 2.3.0 \
%endif \
-Requires: libslirp >= 4.0.0 \
Requires: libusb >= 1.0.22 \
Requires: pixman >= 0.21.8 \
%if %{with spice} \
%{__enable_disable rdma} \
%{__enable_disable sdl} \
%{__enable_disable seccomp} \
- --enable-slirp=system \
%{__enable_disable spice} \
%{__enable_disable smartcard} \
%{__enable_disable snappy} \
--disable-nettle \
--disable-pie \
--disable-sdl \
- --disable-slirp \
--disable-spice \
--disable-system \
--disable-tools \