Re: [Qemu-devel] [PATCH] linux-user: Fix register used for 6th and 7th syscall argument on aarch64

2018-01-24 Thread Richard Henderson
On 01/24/2018 02:13 AM, Guido Günther wrote:
> 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 
> ---
>  linux-user/host/aarch64/safe-syscall.inc.S | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Reviewed-by: Richard Henderson 

r~



Re: [Qemu-devel] [PATCH] linux-user: Fix register used for 6th and 7th syscall argument on aarch64

2018-01-24 Thread Laurent Vivier
Le 24/01/2018 à 11:13, Guido Günther a écrit :
> 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 
> ---
>  linux-user/host/aarch64/safe-syscall.inc.S | 6 +++---
>  1 file 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
> 

Reviewed-by: Laurent Vivier 

for your future patches (I hope there will be), if there are several
versions, add the version number in the Subject (i.e. "[PATCH v2]") and
version history below the signature mark ("---"):

   ...

   Signed-off-by: Guido Günther 
   ---
   v2: fix also 7th arg

 linux-user/host/aarch64/safe-syscall.inc.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

   ...

Thanks,
Laurent



Re: [Qemu-devel] [PATCH] linux-user: Fix register used for 6th and 7th syscall argument on aarch64

2018-01-24 Thread Philippe Mathieu-Daudé
I spent the night studying linux-user end figured out the same correct
fix. Just checking morning ML before sending the patch :)

Mine had "Suggested-by: Laurent Vivier " since he
said on IRC "gdb will help" and indeed single stepping before the
syscall the bug was obvious.

On 01/24/2018 07:13 AM, Guido Günther wrote:
> 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 

Reviewed-by: Philippe Mathieu-Daudé 
Tested-by: Philippe Mathieu-Daudé 

> ---
>  linux-user/host/aarch64/safe-syscall.inc.S | 6 +++---
>  1 file 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
> 



signature.asc
Description: OpenPGP digital signature


[Qemu-devel] [PATCH] linux-user: Fix register used for 6th and 7th syscall argument on aarch64

2018-01-24 Thread Guido Günther
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 
---
 linux-user/host/aarch64/safe-syscall.inc.S | 6 +++---
 1 file 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
-- 
2.15.1