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 > > > >
