X-Git-Url: https://git.tld-linux.org/?p=packages%2Fqemu.git;a=blobdiff_plain;f=qemu-user-execve.patch;fp=qemu-user-execve.patch;h=ada84ce99b9c09a0a0c0080f0366980ee0f6be03;hp=7fc709c0cc3d76bc680bfd50bd4e51a74916dead;hb=f799dc25f4dd72b2a62d6dae4f4a90158445a28a;hpb=df5472b1db2fedf91e4e4d80af463361cf44fc0f diff --git a/qemu-user-execve.patch b/qemu-user-execve.patch index 7fc709c..ada84ce 100644 --- a/qemu-user-execve.patch +++ b/qemu-user-execve.patch @@ -45,9 +45,9 @@ Reviewed-by: Laurent Vivier v3 changes: - rebase the patchset against current code -diff -urNpa qemu-6.2.0.orig/linux-user/main.c qemu-6.2.0/linux-user/main.c ---- qemu-6.2.0.orig/linux-user/main.c 2022-01-23 13:51:24.451951509 +0100 -+++ qemu-6.2.0/linux-user/main.c 2022-01-23 13:53:07.574160010 +0100 +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); static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX; @@ -56,7 +56,7 @@ diff -urNpa qemu-6.2.0.orig/linux-user/main.c qemu-6.2.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 -@@ -338,6 +339,11 @@ static void handle_arg_guest_base(const +@@ -352,6 +353,11 @@ static void handle_arg_guest_base(const have_guest_base = true; } @@ -68,7 +68,7 @@ diff -urNpa qemu-6.2.0.orig/linux-user/main.c qemu-6.2.0/linux-user/main.c static void handle_arg_reserved_va(const char *arg) { char *p; -@@ -440,6 +446,8 @@ static const struct qemu_argument arg_ta +@@ -454,6 +460,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-6.2.0.orig/linux-user/main.c qemu-6.2.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-6.2.0.orig/linux-user/syscall.c qemu-6.2.0/linux-user/syscall.c ---- qemu-6.2.0.orig/linux-user/syscall.c 2022-01-23 13:51:24.453951513 +0100 -+++ qemu-6.2.0/linux-user/syscall.c 2022-01-23 13:53:07.576160014 +0100 -@@ -8072,6 +8072,109 @@ static target_timer_t get_timer_id(abi_l +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 return timerid; } @@ -190,7 +190,7 @@ diff -urNpa qemu-6.2.0.orig/linux-user/syscall.c qemu-6.2.0/linux-user/syscall.c static int target_to_host_cpu_mask(unsigned long *host_mask, size_t host_size, abi_ulong target_addr, -@@ -8585,7 +8688,12 @@ static abi_long do_syscall1(void *cpu_en +@@ -8813,7 +8916,12 @@ static abi_long do_syscall1(void *cpu_en * before the execve completes and makes it the other * program's problem. */ @@ -204,10 +204,10 @@ diff -urNpa qemu-6.2.0.orig/linux-user/syscall.c qemu-6.2.0/linux-user/syscall.c unlock_user(p, arg1, 0); goto execve_end; -diff -urNpa qemu-6.2.0.orig/linux-user/user-internals.h qemu-6.2.0/linux-user/user-internals.h ---- qemu-6.2.0.orig/linux-user/user-internals.h 2022-01-23 13:51:24.450951507 +0100 -+++ qemu-6.2.0/linux-user/user-internals.h 2022-01-23 13:54:10.373286987 +0100 -@@ -28,6 +28,7 @@ void init_task_state(TaskState *ts); +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 +@@ -27,6 +27,7 @@ void init_task_state(TaskState *ts); void task_settid(TaskState *); void stop_all_tasks(void); extern const char *qemu_uname_release;