Le 26/05/2021 à 05:55, Michael Forney a écrit :
> The _POSIX_C_SOURCE and _XOPEN_SOURCE macros are used by the
> application to indicate to libc which declarations it should expose.
> Since qemu does not define them anywhere, it does not make sense
> to check their value.
> 
> Instead, since the intent is to determine whether the host struct
> stat supports the st_*tim fields, use the configure test result
> which does exactly that.
> 
> Signed-off-by: Michael Forney <mfor...@mforney.org>
> ---
>  linux-user/syscall.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index c9f812091c..9a52f235d2 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -7470,7 +7470,7 @@ static inline abi_long host_to_target_stat64(void 
> *cpu_env,
>          __put_user(host_st->st_atime, &target_st->target_st_atime);
>          __put_user(host_st->st_mtime, &target_st->target_st_mtime);
>          __put_user(host_st->st_ctime, &target_st->target_st_ctime);
> -#if _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
> +#ifdef HAVE_STRUCT_STAT_ST_ATIM
>          __put_user(host_st->st_atim.tv_nsec, 
> &target_st->target_st_atime_nsec);
>          __put_user(host_st->st_mtim.tv_nsec, 
> &target_st->target_st_mtime_nsec);
>          __put_user(host_st->st_ctim.tv_nsec, 
> &target_st->target_st_ctime_nsec);
> @@ -7505,7 +7505,7 @@ static inline abi_long host_to_target_stat64(void 
> *cpu_env,
>          __put_user(host_st->st_atime, &target_st->target_st_atime);
>          __put_user(host_st->st_mtime, &target_st->target_st_mtime);
>          __put_user(host_st->st_ctime, &target_st->target_st_ctime);
> -#if _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700
> +#ifdef HAVE_STRUCT_STAT_ST_ATIM
>          __put_user(host_st->st_atim.tv_nsec, 
> &target_st->target_st_atime_nsec);
>          __put_user(host_st->st_mtim.tv_nsec, 
> &target_st->target_st_mtime_nsec);
>          __put_user(host_st->st_ctim.tv_nsec, 
> &target_st->target_st_ctime_nsec);
> @@ -10056,8 +10056,7 @@ static abi_long do_syscall1(void *cpu_env, int num, 
> abi_long arg1,
>                  __put_user(st.st_atime, &target_st->target_st_atime);
>                  __put_user(st.st_mtime, &target_st->target_st_mtime);
>                  __put_user(st.st_ctime, &target_st->target_st_ctime);
> -#if (_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700) && \
> -    defined(TARGET_STAT_HAVE_NSEC)
> +#if defined(HAVE_STRUCT_STAT_ST_ATIM) && defined(TARGET_STAT_HAVE_NSEC)
>                  __put_user(st.st_atim.tv_nsec,
>                             &target_st->target_st_atime_nsec);
>                  __put_user(st.st_mtim.tv_nsec,
> 

Reviewed-by: Laurent Vivier <laur...@vivier.eu>

Reply via email to