1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-05-07 07:21:47 +03:00
Lukasz Majewski 66449d9339 y2038: linux: Provide __utime64 implementation
This patch replaces auto generated wrapper (as described in
sysdeps/unix/sysv/linux/syscalls.list) for utime with one which adds extra
support for setting file's access and modification 64 bit time on machines
with __TIMESIZE != 64.

Internally, the __utimensat_time64 helper function is used. This patch is
necessary for having architectures with __WORDSIZE == 32 && __TIMESIZE != 64
Y2038 safe.

Moreover, a 32 bit version - __utime has been refactored to internally use
__utime64.
The __utime is now supposed to be used on systems still supporting 32
bit time (__TIMESIZE != 64) - hence the necessary conversion between struct
utimbuf and struct __utimbuf64.

Build tests:
./src/scripts/build-many-glibcs.py glibcs

Run-time tests:
- Run specific tests on ARM/x86 32bit systems (qemu):
  https://github.com/lmajewski/meta-y2038 and run tests:
  https://github.com/lmajewski/y2038-tests/commits/master

Above tests were performed with Y2038 redirection applied as well as
without to test proper usage of both __utime64 and __utime.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2020-03-03 14:28:08 +01:00
..
2020-02-14 21:12:45 -03:00
2020-02-14 21:12:45 -03:00
2020-02-14 21:12:45 -03:00
2020-02-09 11:51:08 +01:00
2020-02-14 21:12:45 -03:00
2020-02-14 21:12:45 -03:00
2020-02-14 21:12:45 -03:00
2020-01-03 11:22:07 -03:00
2020-02-14 21:12:45 -03:00
2019-10-18 15:55:33 -04:00