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: Guido Günther <agx@sigxcpu.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Suggested-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <671eaa99f4e0bf3a58f76f9151f7cfa24662227f.1517565566.git.agx@sigxcpu.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
Guido Günther 2018-02-02 11:02:25 +01:00 committed by Laurent Vivier
parent 2b74f621f1
commit 2c418853b9
1 changed files with 3 additions and 3 deletions

View File

@ -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