implement fstatat with SYS_statx, conditional on undersized kstat time
authorRich Felker <dalias@aerifal.cx>
Fri, 19 Jul 2019 01:46:33 +0000 (21:46 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 19 Jul 2019 01:46:33 +0000 (21:46 -0400)
commitdfc81828f7ab41da08f744c44117a1bb20a05749
tree98f334767e4e146b96ba40dc5f094528003a18e9
parent67bf602f14249ff1757c54f071faa3f778279c02
implement fstatat with SYS_statx, conditional on undersized kstat time

this commit adds a new backend for fstatat (and thereby the whole stat
family) using the SYS_statx syscall, but conditions the new code on
the kernel stat structure's time fields being smaller than time_t. in
principle that should make it all dead code at present, but mips64 has
a broken stat structure with 32-bit time fields despite having 64-bit
time_t elsewhere, so on mips64 it is a functional change that makes
post-Y2038 filesystem timestamps accessible.

whenever the 32-bit archs end up getting 64-bit time_t, regardless of
how that happens, the changes in this commit will automatically take
effect for them too.
src/stat/fstatat.c