• Arnd Bergmann's avatar
    y2038: Compile utimes()/futimesat() conditionally · 185cfaf7
    Arnd Bergmann authored
    There are four generations of utimes() syscalls: utime(), utimes(),
    futimesat() and utimensat(), each one being a superset of the previous
    one. For y2038 support, we have to add another one, which is the same
    as the existing utimensat() but always passes 64-bit times_t based
    timespec values.
    
    There are currently 10 architectures that only use utimensat(), two
    that use utimes(), futimesat() and utimensat() but not utime(), and 11
    architectures that have all four, and those define __ARCH_WANT_SYS_UTIME
    in order to get a sys_utime implementation. Since all the new
    architectures only want utimensat(), moving all the legacy entry points
    into a common __ARCH_WANT_SYS_UTIME guard simplifies the logic. Only alpha
    and ia64 grow a tiny bit as they now also get an unused sys_utime(),
    but it didn't seem worth the extra complexity of adding yet another
    ifdef for those.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    185cfaf7
unistd.h 1.68 KB