[PATCH] stat: Use stat64 syscall if available

Filippo ARCIDIACONO filippo.arcidiacono at st.com
Fri Feb 3 13:46:10 UTC 2012


I Khem,
This is similar what I do for fstat for similar problem.
Just a note, the call to stat64 should be also guarded by
__UCLIBC_HAS_LFS__?
Something like:

#if defined __UCLIBC_HAS_LFS__ && defined __NR_stat64

> -----Original Message-----
> From: uclibc-bounces at uclibc.org [mailto:uclibc-bounces at uclibc.org] On
> Behalf Of Carmelo AMOROSO
> Sent: Friday, February 03, 2012 2:15 PM
> To: uclibc at uclibc.org
> Subject: Re: [PATCH] stat: Use stat64 syscall if available
> 
> On 03/02/2012 13.58, Mike Frysinger wrote:
> > On Thursday 02 February 2012 19:12:00 Khem Raj wrote:
> >> --- a/libc/sysdeps/linux/common/stat.c +++
> >> b/libc/sysdeps/linux/common/stat.c
> >>
> >> int stat(const char *file_name, struct stat *buf) { int result;
> >> +#ifdef __NR_stat64 +	struct kernel_stat64 kbuf; +	result =
> >> INLINE_SYSCALL(stat64, 2, file_name, &kbuf); +	if (result == 0)
> >> { +		__xstat32_conv(&kbuf, buf); +	} +#else struct
> kernel_stat
> >> kbuf;
> >>
> >> -	result = __syscall_stat(file_name, &kbuf); +	result =
> >> INLINE_SYSCALL(stat, 2, file_name, &kbuf); if (result == 0) {
> >> __xstat_conv(&kbuf, buf); } +#endif return result; }
> >
> > might be useful to add a comment why you're calling stat64 ...
> > because that fills out more fields than stat does typically -mike
> >
> >
> >
> > _______________________________________________ uClibc mailing
> > list uClibc at uclibc.org
> > http://lists.busybox.net/mailman/listinfo/uclibc
> 
> We were addressing a similar issue on fstat in these days.
> see https://bugzilla.stlinux.com/show_bug.cgi?id=16578
> 
> Carmelo
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc



More information about the uClibc mailing list