Commit 2c418853 authored by Guido Günther's avatar Guido Günther Committed by Laurent Vivier
Browse files

linux-user: Fix register used for 6th and 7th syscall argument on aarch64

This unbreaks the testcase from

    http://lists.nongnu.org/archive/html/qemu-arm/2018-01/msg00514.html



Thanks to Laurent Vivier for spotting the 7th one.

Signed-off-by: default avatarGuido Günther <agx@sigxcpu.org>
Tested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Suggested-by: default avatarLaurent Vivier <laurent@vivier.eu>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Message-Id: <671eaa99f4e0bf3a58f76f9151f7cfa24662227f.1517565566.git.agx@sigxcpu.org>
Signed-off-by: default avatarLaurent Vivier <laurent@vivier.eu>
parent 2b74f621
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ safe_syscall_base:
	 *               and return the result in x0
	 * and the syscall instruction needs
	 *               x8 == syscall number
	 *               x0 ... x7 == syscall arguments
	 *               x0 ... x6 == syscall arguments
	 *               and returns the result in x0
	 * Shuffle everything around appropriately.
	 */
@@ -47,8 +47,8 @@ safe_syscall_base:
	mov	x2, x4
	mov	x3, x5
	mov	x4, x6
	mov	x6, x7
	ldr	x7, [sp]
	mov	x5, x7
	ldr	x6, [sp]

	/* This next sequence of code works in conjunction with the
	 * rewind_if_safe_syscall_function(). If a signal is taken