diff options
author | Guido Günther <agx@sigxcpu.org> | 2018-02-02 11:02:25 +0100 |
---|---|---|
committer | Laurent Vivier <laurent@vivier.eu> | 2018-02-18 18:52:32 +0100 |
commit | 2c418853b9ba099b98834000386f54abe9aaec47 (patch) | |
tree | 80cba8abd468873fa6a6095fb3171b7b26abc30a /linux-user/host | |
parent | 2b74f621f1c78023177eab59bce4357867d772f2 (diff) | |
download | qemu-2c418853b9ba099b98834000386f54abe9aaec47.tar.gz |
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>
Diffstat (limited to 'linux-user/host')
-rw-r--r-- | linux-user/host/aarch64/safe-syscall.inc.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/linux-user/host/aarch64/safe-syscall.inc.S b/linux-user/host/aarch64/safe-syscall.inc.S index 58a2329b37..bc1f5a9792 100644 --- a/linux-user/host/aarch64/safe-syscall.inc.S +++ b/linux-user/host/aarch64/safe-syscall.inc.S @@ -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 |