qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 08/11] linux-user/strace: improve gettimeofday()


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH 08/11] linux-user/strace: improve gettimeofday() output
Date: Wed, 27 Jun 2018 22:43:29 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Hi Laurent,

On 02/17/2018 02:21 PM, Laurent Vivier wrote:
> Le 24/01/2018 à 14:01, Philippe Mathieu-Daudé a écrit :
>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
>> ---
>>  linux-user/strace.c    | 13 +++++++++++++
>>  linux-user/strace.list |  2 +-
>>  2 files changed, 14 insertions(+), 1 deletion(-)
>>
>> diff --git a/linux-user/strace.c b/linux-user/strace.c
>> index 4b8ab6bcfb..b7c4cfae58 100644
>> --- a/linux-user/strace.c
>> +++ b/linux-user/strace.c
>> @@ -1526,6 +1526,19 @@ print_futimesat(const struct syscallname *name,
>>  }
>>  #endif
>>  
>> +#ifdef TARGET_NR_gettimeofday
>> +static void
>> +print_gettimeofday(const struct syscallname *name,
>> +                   abi_long arg0, abi_long arg1, abi_long arg2,
>> +                   abi_long arg3, abi_long arg4, abi_long arg5)
>> +{
>> +    print_syscall_prologue(name);
>> +    print_pointer(arg0, 0);
>> +    print_pointer(arg1, 1);
>> +    print_syscall_epilogue(name);
>> +}
>> +#endif
>> +
>>  #ifdef TARGET_NR_link
>>  static void
>>  print_link(const struct syscallname *name,
>> diff --git a/linux-user/strace.list b/linux-user/strace.list
>> index 958d10d48f..f90c0e8ee4 100644
>> --- a/linux-user/strace.list
>> +++ b/linux-user/strace.list
>> @@ -384,7 +384,7 @@
>>  { TARGET_NR_gettid, "gettid" , "%s()", NULL, NULL },
>>  #endif
>>  #ifdef TARGET_NR_gettimeofday
>> -{ TARGET_NR_gettimeofday, "gettimeofday" , NULL, NULL, NULL },
>> +{ TARGET_NR_gettimeofday, "gettimeofday" , NULL, print_gettimeofday, NULL },
>>  #endif
>>  #ifdef TARGET_NR_getuid
>>  { TARGET_NR_getuid, "getuid" , "%s()", NULL, NULL },
>>
> 
> There is a print_timeval(), and you could add a print_timezone(), and
> update the result() function pointer to call them.

The result prototype is:

  void (*result)(const struct syscallname *, abi_long);

So we don't have access to the address of the struct timeval argument as
the call() function.

> 
> And once it is done, you can also display them for settimeofday().

OK.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]