Hi Yann,
Yann Sionneau wrote,

> Hi Waldemar,
> 
> It's just not clear to me what __UCLIBC_HAVE_STATX__ is supposed to mean.
> 
> Does it mean the kernel supports the syscall?

I would say yes. It is for newer architectures which only support
statx like c-sky. At least that is the reason it was introduced.
The old functions are not available for c-sky.
Now it is also used by kvx.
 
> Or does it mean the arch want to expose some "statx" function which wraps the
> statx syscall? (because statx is non POSIX and is Linux specific)
> 
> In the first scenario I would think that it seems redundant with just checking
> __NR_statx

It seems not to be redundant, as you can see it breaks some
architectures which in newer kernels define __NR_statx, but the old
functions still are available and working fine like mips64 n32.
 
> In the second scenario I would think that even if the arch does not want to
> expose a statx() function in the libc, the arch would still want to wrap the
> "old" functions (fstatat, stat, etc) around the new statx syscall, right?
> 
> In any case I am interested in understanding which of the 2 scenario is
> correct: what does __UCLIBC_HAVE_STATX__ mean?
> 
> Also, indeed I can see that in other files the check is done like this `#if
> defined __NR_statx && defined __UCLIBC_HAVE_STATX__` but maybe we need to make
> sure this is correct, and if it's not, fix this.

I at least hope this is correct, yes.
 
> I hope I'm helping and not making this more complex than it's already is :)

Is it now sufficiently explained? Can I push the change?

best regards
 Waldemar

_______________________________________________
devel mailing list -- devel@uclibc-ng.org
To unsubscribe send an email to devel-le...@uclibc-ng.org

Reply via email to