diff mbox series

linux-user: Add strace support for printing arguments of llseek

Message ID 20210512101358.122781-1-kito.cheng@sifive.com (mailing list archive)
State New, archived
Headers show
Series linux-user: Add strace support for printing arguments of llseek | expand

Commit Message

Kito Cheng May 12, 2021, 10:13 a.m. UTC
Some target are using llseek instead of _llseek like riscv,
nios2, hexagon, and openrisc.

Signed-off-by: Kito Cheng <kito.cheng@sifive.com>
---
 linux-user/strace.c    | 3 ++-
 linux-user/strace.list | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

Comments

Laurent Vivier May 12, 2021, 11:15 a.m. UTC | #1
Le 12/05/2021 à 12:13, Kito Cheng a écrit :
> Some target are using llseek instead of _llseek like riscv,
> nios2, hexagon, and openrisc.
> 
> Signed-off-by: Kito Cheng <kito.cheng@sifive.com>
> ---
>  linux-user/strace.c    | 3 ++-
>  linux-user/strace.list | 3 +++
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/linux-user/strace.c b/linux-user/strace.c
> index e969121b6c..4ebf85b063 100644
> --- a/linux-user/strace.c
> +++ b/linux-user/strace.c
> @@ -2335,7 +2335,7 @@ print_linkat(void *cpu_env, const struct syscallname *name,
>  }
>  #endif
>  
> -#ifdef TARGET_NR__llseek
> +#if defined(TARGET_NR__llseek) || defined(TARGET_NR_llseek)
>  static void
>  print__llseek(void *cpu_env, const struct syscallname *name,
>                abi_long arg0, abi_long arg1, abi_long arg2,
> @@ -2355,6 +2355,7 @@ print__llseek(void *cpu_env, const struct syscallname *name,
>      qemu_log("%s", whence);
>      print_syscall_epilogue(name);
>  }
> +#define print_llseek print__llseek
>  #endif
>  
>  #ifdef TARGET_NR_lseek
> diff --git a/linux-user/strace.list b/linux-user/strace.list
> index 084048ab96..46e1410836 100644
> --- a/linux-user/strace.list
> +++ b/linux-user/strace.list
> @@ -511,6 +511,9 @@
>  #ifdef TARGET_NR__llseek
>  { TARGET_NR__llseek, "_llseek" , NULL, print__llseek, NULL },
>  #endif
> +#ifdef TARGET_NR_llseek
> +{ TARGET_NR_llseek, "llseek" , NULL, print_llseek, NULL },
> +#endif
>  #ifdef TARGET_NR_lock
>  { TARGET_NR_lock, "lock" , NULL, NULL, NULL },
>  #endif
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Laurent Vivier May 15, 2021, 7:41 p.m. UTC | #2
Le 12/05/2021 à 12:13, Kito Cheng a écrit :
> Some target are using llseek instead of _llseek like riscv,
> nios2, hexagon, and openrisc.
> 
> Signed-off-by: Kito Cheng <kito.cheng@sifive.com>
> ---
>  linux-user/strace.c    | 3 ++-
>  linux-user/strace.list | 3 +++
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/linux-user/strace.c b/linux-user/strace.c
> index e969121b6c..4ebf85b063 100644
> --- a/linux-user/strace.c
> +++ b/linux-user/strace.c
> @@ -2335,7 +2335,7 @@ print_linkat(void *cpu_env, const struct syscallname *name,
>  }
>  #endif
>  
> -#ifdef TARGET_NR__llseek
> +#if defined(TARGET_NR__llseek) || defined(TARGET_NR_llseek)
>  static void
>  print__llseek(void *cpu_env, const struct syscallname *name,
>                abi_long arg0, abi_long arg1, abi_long arg2,
> @@ -2355,6 +2355,7 @@ print__llseek(void *cpu_env, const struct syscallname *name,
>      qemu_log("%s", whence);
>      print_syscall_epilogue(name);
>  }
> +#define print_llseek print__llseek
>  #endif
>  
>  #ifdef TARGET_NR_lseek
> diff --git a/linux-user/strace.list b/linux-user/strace.list
> index 084048ab96..46e1410836 100644
> --- a/linux-user/strace.list
> +++ b/linux-user/strace.list
> @@ -511,6 +511,9 @@
>  #ifdef TARGET_NR__llseek
>  { TARGET_NR__llseek, "_llseek" , NULL, print__llseek, NULL },
>  #endif
> +#ifdef TARGET_NR_llseek
> +{ TARGET_NR_llseek, "llseek" , NULL, print_llseek, NULL },
> +#endif
>  #ifdef TARGET_NR_lock
>  { TARGET_NR_lock, "lock" , NULL, NULL, NULL },
>  #endif
> 


Applied to my linux-user-for-6.1 branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/linux-user/strace.c b/linux-user/strace.c
index e969121b6c..4ebf85b063 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -2335,7 +2335,7 @@  print_linkat(void *cpu_env, const struct syscallname *name,
 }
 #endif
 
-#ifdef TARGET_NR__llseek
+#if defined(TARGET_NR__llseek) || defined(TARGET_NR_llseek)
 static void
 print__llseek(void *cpu_env, const struct syscallname *name,
               abi_long arg0, abi_long arg1, abi_long arg2,
@@ -2355,6 +2355,7 @@  print__llseek(void *cpu_env, const struct syscallname *name,
     qemu_log("%s", whence);
     print_syscall_epilogue(name);
 }
+#define print_llseek print__llseek
 #endif
 
 #ifdef TARGET_NR_lseek
diff --git a/linux-user/strace.list b/linux-user/strace.list
index 084048ab96..46e1410836 100644
--- a/linux-user/strace.list
+++ b/linux-user/strace.list
@@ -511,6 +511,9 @@ 
 #ifdef TARGET_NR__llseek
 { TARGET_NR__llseek, "_llseek" , NULL, print__llseek, NULL },
 #endif
+#ifdef TARGET_NR_llseek
+{ TARGET_NR_llseek, "llseek" , NULL, print_llseek, NULL },
+#endif
 #ifdef TARGET_NR_lock
 { TARGET_NR_lock, "lock" , NULL, NULL, NULL },
 #endif