On Thu, Sep 18, 2025 at 2:08 PM Bruno Haible via GNU coreutils General
Discussion <[email protected]> wrote:
>
> On Android 9.0, in the Termux app, there are also some compilation warnings:
>
> ../src/ls.c:1215:13: warning: call to undeclared function 'statx'; ISO C99 
> and later do not support implicit function declarations 
> [-Wimplicit-function-declaration]
> ../src/stat.c:1397:8: warning: call to undeclared function 'statx'; ISO C99 
> and later do not support implicit function declarations 
> [-Wimplicit-function-declaration]
> ../src/sync.c:144:25: warning: call to undeclared function 'syncfs'; ISO C99 
> and later do not support implicit function declarations 
> [-Wimplicit-function-declaration]
>
> statx is only available in Android API 30 or newer. This is its
> declaration in <sys/stat.h>:

note also that your android 9 device won't have a new enough kernel
_or_ seccomp filter ... so you'll get SIGSYS if you try to use
syscall() for this.

> --------------------------------------------------------------------------------
> #if defined(__USE_GNU)
> /**
>  * [statx(2)](http://man7.org/linux/man-pages/man2/statx.2.html) returns
>  * extended file status information.
>  *
>  * Returns 0 on success and returns -1 and sets `errno` on failure.
>  *
>  * Available since API level 30.
>  */
>
> #if __ANDROID_API__ >= 30
> int statx(int __dir_fd, const char* _Nonnull __path, int __flags, unsigned 
> __mask, struct statx* _Nonnull __buf) __INTRODUCED_IN(30);
> #endif /* __ANDROID_API__ >= 30 */
>
> #endif
> --------------------------------------------------------------------------------
>
> Bruno
>
>
>
>

Reply via email to