[PATCH 00/52] Add 64 bit time support on legacy ABIs
Adhemerval Zanella
adhemerval.zanella@linaro.org
Fri Mar 5 20:14:26 GMT 2021
This patchset add support for 64 bit time on ABIs which only support
32 bit time. It is done through a new build flags, _TIME_BITS=64,
which is supported only when Long File Support is also used
(_FILE_OFFSET_BITS=64). The new flag redefine the required structures
and redirected the required symbols to newer exported ones.
However, different then LFS support, the new 64 bit time_t symbols
are only exported for the ABI that require them. ABIs that provides
64 bit time as the default ABI as unaffected.
On Linux, to fully support 64 bit time_t it requires a minimum of
kernel v5.1 due the newer syscalls.
To make the patch review easier, it is divided in 5 subparts:
1. Patches from 01/52 to 14/52 are newer tests and infrastructure
changes that are independent of 64 bit time support.
2. Patches from 15/52 to 23/52 add the 64 bit time support on
utmp/utmpx/lastlog and it affects *all* the ABIs with the
exception of s390.
3. Patches from 24/52 to 41/52 are the one that adjust the exported
API, add some specific newer symbols (glob, ftw, and fts) and
enable the _TIME_BITS on the installed headers.
4. Patches from 42/52 to 44/52 enables basic test coverage. Although
it does not cover all the newer symbol redirection, the idea is to
use Lukasz patches and newer tests to cover all the symbols for
2.34 release.
5. Patches from 45/52 to 52/52 make glibc itself to use the newer
64 bit symbol internally and on installed programs.
I checked for i686-linux-gnu running on a x86_64 5.4 kernel,
powerpc-linux-gnu running on ppc64 5.10 kernel, and on
arm-linux-gnueabihf running on arm64 4.12.13 kernel. As expected,
the arm shows some tests failures due the missing kernel support:
FAIL: io/tst-utimensat-time64
FAIL: misc/tst-futimens-time64
FAIL: misc/tst-futimes-time64
FAIL: misc/tst-lutimes-time64
FAIL: misc/tst-utime-time64
FAIL: misc/tst-utimes-time64
Adhemerval Zanella (50):
io: Use temporary directory and file for ftwtest-sh
linux: Add futimes test
linux: Add lutimes test
time: Add getitimer and setitimer basic tests
time: Add gmtime/gmtime_r tests
time: Add timegm/timelocal basic tests
time: Add basic timespec_get tests
time: Add 64 bit tests for getdate / getdate_r
io: Add basic tests for utimensat
posix: Add wait3 tests
linux: mips: Split libpthread.abilist in n32 and n64
linux: mips: Split librt.abilist in n32 and n64
linux: mips: Split libanl.abilist in n32 and n64
linux: s390: Add libanl.abilist in s390 and s390x
login: Consolidate utmp and utmpx headers
login: Move gnu utmpx to default implementation
Consolidate and simplify internal utmp definitions
support: Add 'touch' command
Add tests-container-internal rules
login: Add 64-bit time support to utmp/utmpx
linux: Add pwrite64_nocancel
login: Use 64-bit time on struct lastlog [BZ #25844]
Remove __WORDSIZE_TIME64_COMPAT32
linux: Add fallback for 64-bit time_t SO_{RCV,SND}TIMEO
linux: Add fallback for 64-bit time_t SO_TIMESTAMP{NS}
linux: Add recvvmsg fallback for 64-bit time_t SO_TIMESTAMP{NS}
y2038: Add __USE_TIME_BITS64 support for time_t
y2038: Add __USE_TIME_BITS64 support for struct timeval
y2038: Add __USE_TIME_BITS64 support for struct timespec
y2038: Add __USE_TIME_BITS64 support for struct utimbuf
y2038: linux: Add __USE_TIME_BITS64 support for struct timex
y2038: Use a common definition for semid_ds
y2038: Use a common definition for shmid_ds
y2038: Add __USE_TIME_BITS64 support for socket-constants.h
time: Add 64 bit time support for getdate
y2038: Add support for 64 bit time on legacy ABIs
posix: Add glob64 with 64 bit time_t support
io: Add fts64 with 64 bit time_t support
io: Add ftw64 with 64 bit time_t support
libsupport: Add 64 bit time_t support for time functions
libsupport: Add 64 bit time_t support for stat functions
y2038: Add test coverage
Use 64 bit time_t stat internally
debug: build pcprofiledump with LFS and 64 bit time support
elf: Use LFS and 64 bit time_t for installed programs
iconv: Use LFS and 64 bit time_t for installed programs
locale: Use LFS and 64 bit time_t for installed programs
nss: Use LFS and 64 bit time_t for installed programs
posix: Use LFS and 64 bit time_t for installed programs
timezone: Use LFS and 64 bit time_t for installed programs
Lukasz Majewski (2):
y2038: Use a common definition for stat
y2038: Use a common definition for msqid_ds
Makeconfig | 14 +
Makefile | 4 +-
Makerules | 21 +-
NEWS | 5 +
Rules | 12 +-
.../updwtmp.c => bits/types/struct_lastlog.h | 26 +-
bits/types/struct_utmp.h | 53 ++
bits/types/struct_utmpx.h | 54 +++
bits/utmp.h | 48 +-
.../sysv/linux/s390/bits => bits}/utmpx.h | 34 +-
bits/wordsize.h | 6 -
csu/check_fds.c | 8 +-
debug/Makefile | 1 +
elf/Makefile | 13 +-
elf/dl-load.c | 8 +-
elf/dl-misc.c | 4 +-
elf/dl-profile.c | 4 +-
iconv/Makefile | 8 +
iconv/gconv_cache.c | 4 +-
include/dirent.h | 2 +-
include/features-time64.h | 1 +
include/features.h | 2 +
include/file_change_detection.h | 6 +-
include/fts.h | 51 ++
include/ftw.h | 18 +
include/glob.h | 28 ++
include/sys/socket.h | 5 +
include/sys/stat.h | 2 +-
include/time.h | 12 +-
include/utmp.h | 5 +-
include/utmpx.h | 1 +
inet/rcmd.c | 6 +-
intl/loadmsgcat.c | 4 +-
io/Makefile | 28 +-
io/file_change_detection.c | 16 +-
io/fts.h | 43 +-
io/fts64-time64.c | 35 ++
io/ftw.c | 5 +-
io/ftw.h | 46 +-
.../s390-32/getutent_r.c => io/ftw64-time64.c | 34 +-
io/ftwtest-sh | 246 +++++-----
io/ftwtest-time64.c | 1 +
io/getdirname.c | 6 +-
io/sys/poll.h | 11 +
io/sys/stat.h | 113 ++++-
io/tst-fts-time64.c | 1 +
io/tst-futimesat-time64.c | 4 +
io/tst-futimesat.c | 47 +-
io/tst-stat-time64.c | 102 ++++
io/tst-utimensat-time64.c | 2 +
io/tst-utimensat.c | 115 +++++
io/utime.h | 16 +
libio/filedoalloc.c | 2 +-
libio/fileops.c | 8 +-
libio/oldfileops.c | 2 +-
libio/wfileops.c | 2 +-
locale/Makefile | 9 +
locale/loadarchive.c | 8 +-
locale/loadlocale.c | 6 +-
login/Makefile | 16 +-
login/Versions | 26 +
login/getutent.c | 7 +-
login/getutent_r.c | 48 +-
login/getutid.c | 7 +-
login/getutid_r.c | 33 +-
login/getutline.c | 7 +-
login/getutline_r.c | 33 +-
login/getutmp.c | 42 +-
login/getutmpx.c | 35 +-
login/getutxent.c | 9 +-
login/getutxid.c | 9 +-
login/getutxline.c | 9 +-
.../getutent.c => login/lastlog-compat.h | 29 +-
login/lastlog_read.c | 78 +++
login/lastlog_write.c | 64 +++
login/login.c | 10 +-
.../linux/s390/s390-32 => login}/login32.c | 16 +-
login/pututxline.c | 9 +-
login/tst-lastlog.c | 80 ++++
login/tst-lastlog.root/tst-lastlog.script | 6 +
login/tst-utmp-default.c | 292 ++++++++++++
.../tst-utmp-default.script | 10 +
login/tst-utmp32.c | 318 ++++++++++++
login/tst-utmp32.root/tst-utmp32.script | 7 +
login/updwtmp.c | 32 +-
login/updwtmpx.c | 9 +-
.../utmp-convert.h => login/utmp-convert.c | 59 +--
.../s390-32/getutmp.c => login/utmp-convert.h | 39 +-
.../sysv/linux/updwtmp.c => login/utmp-path.h | 42 +-
login/utmp-private.h | 24 +-
login/utmp.h | 11 +
login/utmp32.c | 247 ++++++++++
.../linux/s390/s390-32 => login}/utmp32.h | 9 +
login/utmp_file.c | 451 +++++++++++-------
login/utmpname.c | 8 +
{sysdeps/gnu => login}/utmpx.h | 0
login/utmpx32.c | 112 +++++
.../linux/s390/s390-32 => login}/utmpx32.h | 6 +-
manual/creature.texi | 44 ++
manual/users.texi | 4 +-
misc/Makefile | 2 +
misc/sys/select.h | 27 ++
misc/tst-pselect-time64.c | 1 +
nptl/Makefile | 3 +
nptl/tst-cancel4_2-time64.c | 1 +
nscd/nscd_helper.c | 4 +-
nss/Makefile | 11 +-
nss/nss_database.c | 4 +-
posix/Makefile | 10 +-
posix/glob.c | 46 +-
posix/glob.h | 22 +
posix/glob64-lstat-compat.c | 3 +-
posix/glob64-time64.c | 49 ++
.../getutid.c => posix/globfree64-time64.c | 22 +-
posix/sched.h | 11 +-
posix/sys/wait.h | 20 +
posix/tst-gnuglob64-time64.c | 7 +
posix/tst-sched_rr_get_interval-time64.c | 1 +
posix/tst-wait-skeleton.c | 209 ++++++++
posix/tst-wait3-time64.c | 1 +
.../s390-32/updwtmpx.c => posix/tst-wait3.c | 18 +-
posix/tst-wait4-time64.c | 1 +
posix/tst-wait4.c | 193 +-------
resolv/netdb.h | 11 +
resource/sys/resource.h | 10 +
rt/Makefile | 9 +
rt/aio.h | 15 +-
rt/mqueue.h | 22 +
rt/tst-aio6-time64.c | 1 +
rt/tst-cpuclock2-time64.c | 1 +
rt/tst-cpuclock2.c | 9 +-
rt/tst-mqueue1-time64.c | 1 +
rt/tst-mqueue2-time64.c | 1 +
rt/tst-mqueue4-time64.c | 1 +
rt/tst-mqueue8-time64.c | 1 +
rt/tst-timer4-time64.c | 1 +
signal/signal.h | 13 +
socket/sys/socket.h | 11 +
support/Makefile | 8 +
support/support-xfstat-time64.c | 32 ++
.../support-xstat-time64.c | 28 +-
support/test-container.c | 11 +
support/timespec-add-time64.c | 27 ++
support/timespec-add.c | 2 +-
support/timespec-sub-time64.c | 27 ++
support/timespec-sub.c | 2 +-
support/timespec-time64.c | 40 ++
support/timespec.c | 9 +-
support/timespec.h | 52 +-
.../xclock_gettime_time64.c | 22 +-
support/xlstat-time64.c | 32 ++
support/xtime.h | 5 +
support/xunistd.h | 13 +
sysdeps/aarch64/bits/wordsize.h | 2 -
.../getutxent.c => generic/features-time64.h} | 17 +-
sysdeps/generic/paths.h | 12 +-
sysdeps/generic/time64-compat.h | 3 +
sysdeps/generic/utmp-compat.h | 3 +
sysdeps/generic/utmp-equal.h | 42 --
sysdeps/gnu/getutmpx.c | 1 -
sysdeps/gnu/glob64-lstat-compat.c | 3 +-
sysdeps/gnu/utmp_file.c | 31 --
sysdeps/mach/hurd/i386/libc.abilist | 17 +
sysdeps/mach/hurd/i386/libutil.abilist | 1 +
sysdeps/mips/bits/wordsize.h | 6 -
sysdeps/nptl/pthread.h | 119 +++++
sysdeps/posix/dl-fileid.h | 4 +-
sysdeps/posix/euidaccess.c | 4 +-
sysdeps/posix/getaddrinfo.c | 21 +-
sysdeps/posix/getcwd.c | 15 +-
sysdeps/posix/pathconf.c | 4 +-
sysdeps/posix/sysconf.c | 4 +-
sysdeps/posix/tempname.c | 8 +-
sysdeps/powerpc/powerpc32/bits/wordsize.h | 2 -
sysdeps/powerpc/powerpc64/bits/wordsize.h | 2 -
sysdeps/pthread/Makefile | 10 +
sysdeps/pthread/semaphore.h | 25 +
sysdeps/pthread/threads.h | 33 ++
sysdeps/pthread/tst-abstime-time64.c | 1 +
sysdeps/pthread/tst-cnd-timedwait-time64.c | 1 +
sysdeps/pthread/tst-cond11-time64.c | 1 +
sysdeps/pthread/tst-join14-time64.c | 1 +
sysdeps/pthread/tst-mtx-timedlock-time64.c | 1 +
sysdeps/pthread/tst-rwlock14-time64.c | 1 +
sysdeps/pthread/tst-sem5-time64.c | 1 +
sysdeps/pthread/tst-thrd-sleep-time64.c | 1 +
sysdeps/riscv/bits/wordsize.h | 2 -
sysdeps/s390/s390-32/bits/wordsize.h | 2 -
sysdeps/s390/s390-64/bits/wordsize.h | 2 -
sysdeps/sparc/sparc32/bits/wordsize.h | 2 -
sysdeps/sparc/sparc64/bits/wordsize.h | 2 -
sysdeps/unix/sysv/linux/Makefile | 22 +-
sysdeps/unix/sysv/linux/Versions | 125 +++++
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 17 +
.../unix/sysv/linux/aarch64/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/alpha/bits/wordsize.h | 1 -
sysdeps/unix/sysv/linux/alpha/libc.abilist | 17 +
sysdeps/unix/sysv/linux/alpha/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/arc/libc.abilist | 17 +
sysdeps/unix/sysv/linux/arc/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/arm/be/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 78 +++
.../unix/sysv/linux/arm/be/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/arm/be/librt.abilist | 5 +
.../unix/sysv/linux/arm/be/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/arm/le/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 78 +++
.../unix/sysv/linux/arm/le/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/arm/le/librt.abilist | 5 +
.../unix/sysv/linux/arm/le/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/arm/time64-compat.h | 2 +
sysdeps/unix/sysv/linux/bits/msq.h | 1 +
sysdeps/unix/sysv/linux/bits/sem.h | 1 +
sysdeps/unix/sysv/linux/bits/shm.h | 1 +
.../unix/sysv/linux/bits/socket-constants.h | 47 +-
sysdeps/unix/sysv/linux/bits/struct_stat.h | 51 +-
.../linux/bits/struct_stat_time64_helper.h | 63 +++
sysdeps/unix/sysv/linux/bits/time.h | 10 +
sysdeps/unix/sysv/linux/bits/timex.h | 31 ++
.../sysv/linux/bits/types/struct_msqid64_ds.h | 10 +-
.../bits/types/struct_msqid64_ds_helper.h | 28 ++
.../sysv/linux/bits/types/struct_msqid_ds.h | 12 +-
.../sysv/linux/bits/types/struct_semid64_ds.h | 5 +-
.../types/struct_semid64_ds_helper.h} | 23 +-
.../sysv/linux/bits/types/struct_semid_ds.h | 10 +-
.../sysv/linux/bits/types/struct_shmid64_ds.h | 9 +-
.../bits/types/struct_shmid64_ds_helper.h} | 25 +-
.../sysv/linux/bits/types/struct_shmid_ds.h | 10 +-
.../unix/sysv/linux/convert_scm_timestamps.c | 96 ++++
sysdeps/unix/sysv/linux/csky/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/csky/libc.abilist | 78 +++
.../unix/sysv/linux/csky/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/csky/librt.abilist | 5 +
sysdeps/unix/sysv/linux/csky/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/csky/time64-compat.h | 2 +
sysdeps/unix/sysv/linux/fdopendir.c | 4 +-
sysdeps/unix/sysv/linux/features-time64.h | 37 ++
sysdeps/unix/sysv/linux/fexecve.c | 4 +-
sysdeps/unix/sysv/linux/getsockopt.c | 79 ++-
sysdeps/unix/sysv/linux/glob-lstat-compat.c | 6 +-
sysdeps/unix/sysv/linux/glob.c | 6 +
sysdeps/unix/sysv/linux/glob64-lstat-compat.c | 12 +-
sysdeps/unix/sysv/linux/glob64-time64.c | 44 ++
sysdeps/unix/sysv/linux/glob64.c | 8 +-
.../getutid_r.c => globfree64-time64.c} | 30 +-
.../sysv/linux/hppa/bits/socket-constants.h | 36 +-
.../linux/hppa/bits/types/struct_msqid_ds.h | 12 +-
.../linux/hppa/bits/types/struct_semid_ds.h | 4 +
.../linux/hppa/bits/types/struct_shmid_ds.h | 10 +-
sysdeps/unix/sysv/linux/hppa/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/hppa/libc.abilist | 78 +++
.../unix/sysv/linux/hppa/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/hppa/librt.abilist | 5 +
sysdeps/unix/sysv/linux/hppa/libutil.abilist | 1 +
.../sysv/linux/hppa/socket-constants-time64.h | 35 ++
sysdeps/unix/sysv/linux/hppa/time64-compat.h | 2 +
sysdeps/unix/sysv/linux/i386/Makefile | 2 +
sysdeps/unix/sysv/linux/i386/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/i386/libc.abilist | 78 +++
.../unix/sysv/linux/i386/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/i386/librt.abilist | 5 +
sysdeps/unix/sysv/linux/i386/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/i386/time64-compat.h | 2 +
sysdeps/unix/sysv/linux/ia64/libc.abilist | 17 +
sysdeps/unix/sysv/linux/ia64/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/include/sys/msg.h | 2 -
sysdeps/unix/sysv/linux/include/sys/shm.h | 2 -
sysdeps/unix/sysv/linux/include/sys/timex.h | 2 +
.../unix/sysv/linux/m68k/bits/struct_stat.h | 50 +-
.../sysv/linux/m68k/coldfire/libanl.abilist | 1 +
.../sysv/linux/m68k/coldfire/libc.abilist | 78 +++
.../linux/m68k/coldfire/libpthread.abilist | 14 +
.../sysv/linux/m68k/coldfire/librt.abilist | 5 +
.../sysv/linux/m68k/coldfire/libutil.abilist | 1 +
.../sysv/linux/m68k/m680x0/libanl.abilist | 1 +
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 78 +++
.../sysv/linux/m68k/m680x0/libpthread.abilist | 14 +
.../unix/sysv/linux/m68k/m680x0/librt.abilist | 5 +
.../sysv/linux/m68k/m680x0/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/m68k/time64-compat.h | 2 +
.../sysv/linux/microblaze/be/libanl.abilist | 1 +
.../sysv/linux/microblaze/be/libc.abilist | 78 +++
.../linux/microblaze/be/libpthread.abilist | 14 +
.../sysv/linux/microblaze/be/librt.abilist | 5 +
.../sysv/linux/microblaze/be/libutil.abilist | 1 +
.../sysv/linux/microblaze/bits/struct_stat.h | 48 +-
.../sysv/linux/microblaze/le/libanl.abilist | 1 +
.../sysv/linux/microblaze/le/libc.abilist | 78 +++
.../linux/microblaze/le/libpthread.abilist | 14 +
.../sysv/linux/microblaze/le/librt.abilist | 5 +
.../sysv/linux/microblaze/le/libutil.abilist | 1 +
.../sysv/linux/microblaze/time64-compat.h | 2 +
.../sysv/linux/mips/bits/socket-constants.h | 36 +-
.../unix/sysv/linux/mips/bits/struct_stat.h | 89 ++--
.../linux/mips/bits/types/struct_msqid_ds.h | 18 +-
.../linux/mips/bits/types/struct_semid_ds.h | 4 +
.../linux/mips/bits/types/struct_shmid_ds.h | 14 +-
.../sysv/linux/mips/mips32/fpu/libc.abilist | 78 +++
.../sysv/linux/mips/mips32/libanl.abilist | 1 +
.../sysv/linux/mips/mips32/libpthread.abilist | 14 +
.../unix/sysv/linux/mips/mips32/librt.abilist | 5 +
.../sysv/linux/mips/mips32/libutil.abilist | 1 +
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 78 +++
.../sysv/linux/mips/mips32/time64-compat.h | 2 +
.../sysv/linux/mips/mips64/libutil.abilist | 1 +
.../sysv/linux/mips/mips64/n32/libanl.abilist | 5 +
.../sysv/linux/mips/mips64/n32/libc.abilist | 78 +++
.../linux/mips/mips64/n32/libpthread.abilist | 252 ++++++++++
.../sysv/linux/mips/mips64/n32/librt.abilist | 42 ++
.../linux/mips/mips64/n32/time64-compat.h | 2 +
.../mips/mips64/{ => n64}/libanl.abilist | 0
.../sysv/linux/mips/mips64/n64/libc.abilist | 17 +
.../mips/mips64/{ => n64}/libpthread.abilist | 0
.../linux/mips/mips64/{ => n64}/librt.abilist | 0
.../sysv/linux/mips/socket-constants-time64.h | 35 ++
sysdeps/unix/sysv/linux/nios2/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/nios2/libc.abilist | 78 +++
.../unix/sysv/linux/nios2/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/nios2/librt.abilist | 5 +
sysdeps/unix/sysv/linux/nios2/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/nios2/time64-compat.h | 2 +
sysdeps/unix/sysv/linux/not-cancel.h | 4 +
sysdeps/unix/sysv/linux/oldglob.c | 11 +-
sysdeps/unix/sysv/linux/opendir.c | 7 +-
sysdeps/unix/sysv/linux/pathconf.c | 5 +-
sysdeps/unix/sysv/linux/paths.h | 10 +-
.../linux/powerpc/bits/socket-constants.h | 36 +-
.../sysv/linux/powerpc/bits/struct_stat.h | 52 +-
.../powerpc/bits/types/struct_msqid_ds.h | 12 +-
.../powerpc/bits/types/struct_semid_ds.h | 10 +-
.../powerpc/bits/types/struct_shmid_ds.h | 10 +-
.../unix/sysv/linux/powerpc/bits/wordsize.h | 2 -
.../linux/powerpc/powerpc32/fpu/libc.abilist | 78 +++
.../linux/powerpc/powerpc32/libanl.abilist | 1 +
.../powerpc/powerpc32/libpthread.abilist | 14 +
.../linux/powerpc/powerpc32/librt.abilist | 5 +
.../linux/powerpc/powerpc32/libutil.abilist | 1 +
.../powerpc/powerpc32/nofpu/libc.abilist | 78 +++
.../linux/powerpc/powerpc32/time64-compat.h | 2 +
.../linux/powerpc/powerpc64/be/libc.abilist | 17 +
.../powerpc/powerpc64/be/libutil.abilist | 1 +
.../linux/powerpc/powerpc64/le/libc.abilist | 17 +
.../powerpc/powerpc64/le/libutil.abilist | 1 +
.../linux/powerpc/socket-constants-time64.h | 35 ++
.../s390-32/login.c => pwrite64_nocancel.c} | 30 +-
sysdeps/unix/sysv/linux/recvmmsg.c | 17 +-
sysdeps/unix/sysv/linux/recvmsg.c | 23 +-
.../unix/sysv/linux/riscv/rv32/libc.abilist | 17 +
.../sysv/linux/riscv/rv32/libutil.abilist | 1 +
.../unix/sysv/linux/riscv/rv64/libc.abilist | 17 +
.../sysv/linux/riscv/rv64/libutil.abilist | 1 +
.../unix/sysv/linux/s390/bits/struct_utmp.h | 51 ++
.../sysv/linux/s390/bits/struct_utmpx.h} | 65 +--
sysdeps/unix/sysv/linux/s390/bits/utmp.h | 127 -----
.../sysv/linux/s390/lastlog-compat.h} | 34 +-
.../unix/sysv/linux/s390/s390-32/getutxline.c | 30 --
.../sysv/linux/s390/s390-32/libanl.abilist | 5 +
.../unix/sysv/linux/s390/s390-32/libc.abilist | 63 +++
.../linux/s390/s390-32/libpthread.abilist | 14 +
.../sysv/linux/s390/s390-32/librt.abilist | 5 +
.../unix/sysv/linux/s390/s390-32/pututxline.c | 30 --
.../sysv/linux/s390/s390-32/time64-compat.h | 2 +
.../sysv/linux/s390/s390-32/utmp-compat.h | 2 +-
sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c | 184 -------
.../sysv/linux/s390/s390-32/utmpx-convert.h | 85 ----
.../unix/sysv/linux/s390/s390-32/utmpx32.c | 139 ------
.../linux/s390/{ => s390-64}/libanl.abilist | 0
.../unix/sysv/linux/s390/s390-64/libc.abilist | 2 +
.../sysv/linux/s390/s390-64/utmp-compat.h | 3 +
sysdeps/unix/sysv/linux/semctl.c | 1 -
sysdeps/unix/sysv/linux/setsockopt.c | 83 +++-
sysdeps/unix/sysv/linux/sh/be/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 78 +++
.../unix/sysv/linux/sh/be/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/sh/be/librt.abilist | 5 +
sysdeps/unix/sysv/linux/sh/be/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/sh/le/libanl.abilist | 1 +
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 78 +++
.../unix/sysv/linux/sh/le/libpthread.abilist | 14 +
sysdeps/unix/sysv/linux/sh/le/librt.abilist | 5 +
sysdeps/unix/sysv/linux/sh/le/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/sh/time64-compat.h | 2 +
.../unix/sysv/linux/socket-constants-time64.h | 35 ++
.../sysv/linux/sparc/bits/socket-constants.h | 36 +-
.../linux/sparc/bits/types/struct_msqid_ds.h | 12 +-
.../linux/sparc/bits/types/struct_semid_ds.h | 10 +-
.../linux/sparc/bits/types/struct_shmid_ds.h | 10 +-
sysdeps/unix/sysv/linux/sparc/bits/wordsize.h | 2 -
.../linux/sparc/socket-constants-time64.h | 35 ++
.../sysv/linux/sparc/sparc32/libanl.abilist | 1 +
.../sysv/linux/sparc/sparc32/libc.abilist | 78 +++
.../linux/sparc/sparc32/libpthread.abilist | 14 +
.../sysv/linux/sparc/sparc32/librt.abilist | 5 +
.../sysv/linux/sparc/sparc32/libutil.abilist | 1 +
.../sysv/linux/sparc/sparc32/time64-compat.h | 2 +
.../sysv/linux/sparc/sparc64/libc.abilist | 17 +
.../sysv/linux/sparc/sparc64/libutil.abilist | 1 +
sysdeps/unix/sysv/linux/struct_stat_time64.h | 59 +--
sysdeps/unix/sysv/linux/sys/timerfd.h | 22 +
sysdeps/unix/sysv/linux/sys/timex.h | 28 +-
sysdeps/unix/sysv/linux/tst-futimens-time64.c | 2 +
sysdeps/unix/sysv/linux/tst-futimens.c | 8 +-
sysdeps/unix/sysv/linux/tst-futimes-time64.c | 2 +
sysdeps/unix/sysv/linux/tst-futimes.c | 85 ++++
sysdeps/unix/sysv/linux/tst-lutimes-time64.c | 2 +
sysdeps/unix/sysv/linux/tst-lutimes.c | 95 ++++
sysdeps/unix/sysv/linux/tst-ppoll-time64.c | 1 +
sysdeps/unix/sysv/linux/tst-timerfd-time64.c | 1 +
sysdeps/unix/sysv/linux/tst-utime-time64.c | 2 +
sysdeps/unix/sysv/linux/tst-utime.c | 6 +-
sysdeps/unix/sysv/linux/tst-utimes-time64.c | 2 +
sysdeps/unix/sysv/linux/tst-utimes.c | 6 +-
sysdeps/unix/sysv/linux/ttyname.c | 17 +-
sysdeps/unix/sysv/linux/ttyname.h | 10 +-
sysdeps/unix/sysv/linux/ttyname_r.c | 16 +-
sysdeps/unix/sysv/linux/utmp-path.h | 54 +++
sysdeps/unix/sysv/linux/utmp_file.c | 37 --
.../unix/sysv/linux/x86/bits/struct_stat.h | 90 ++--
.../linux/x86/bits/types/struct_semid_ds.h | 4 +
.../unix/sysv/linux/x86_64/64/libc.abilist | 17 +
.../unix/sysv/linux/x86_64/64/libutil.abilist | 1 +
.../unix/sysv/linux/x86_64/x32/libc.abilist | 17 +
.../sysv/linux/x86_64/x32/libutil.abilist | 1 +
sysdeps/wordsize-32/bits/wordsize.h | 1 -
sysdeps/wordsize-64/bits/wordsize.h | 1 -
sysdeps/x86/bits/wordsize.h | 3 -
sysvipc/Makefile | 2 +
sysvipc/ftok.c | 4 +-
sysvipc/sys/msg.h | 10 +
sysvipc/sys/sem.h | 21 +
sysvipc/sys/shm.h | 10 +
sysvipc/test-sysvmsg-time64.c | 1 +
sysvipc/test-sysvsem-time64.c | 1 +
sysvipc/test-sysvshm-time64.c | 1 +
time/Makefile | 18 +-
time/bits/types/struct_timespec.h | 12 +-
time/bits/types/struct_timeval.h | 5 +
time/bits/types/time_t.h | 4 +
time/getdate.c | 22 +-
time/sys/time.h | 71 +++
time/time.h | 128 ++++-
time/tst-adjtime-time64.c | 1 +
time/tst-clock-time64.c | 1 +
time/tst-clock2-time64.c | 1 +
time/tst-clock_nanosleep-time64.c | 1 +
time/tst-cpuclock1-time64.c | 1 +
time/tst-ctime-time64.c | 1 +
time/tst-ctime.c | 16 +
time/tst-difftime-time64.c | 1 +
time/tst-getdate.c | 147 +++---
time/tst-gmtime-time64.c | 1 +
time/tst-gmtime.c | 125 +++++
time/tst-itimer-time64.c | 1 +
time/tst-itimer.c | 175 +++++++
time/tst-mktime4-time64.c | 1 +
time/tst-timegm-time64.c | 1 +
time/tst-timegm.c | 95 ++++
time/tst-timespec_get-time64.c | 1 +
time/tst-timespec_get.c | 40 ++
time/tst-y2039-time64.c | 1 +
time/tst-y2039.c | 10 +
time/tzfile.c | 6 +-
timezone/Makefile | 1 +
463 files changed, 9068 insertions(+), 2386 deletions(-)
rename sysdeps/unix/sysv/linux/s390/s390-32/updwtmp.c => bits/types/struct_lastlog.h (64%)
create mode 100644 bits/types/struct_utmp.h
create mode 100644 bits/types/struct_utmpx.h
rename {sysdeps/unix/sysv/linux/s390/bits => bits}/utmpx.h (64%)
create mode 100644 include/features-time64.h
create mode 100644 include/utmpx.h
create mode 100644 io/fts64-time64.c
rename sysdeps/unix/sysv/linux/s390/s390-32/getutent_r.c => io/ftw64-time64.c (55%)
create mode 100644 io/ftwtest-time64.c
create mode 100644 io/tst-fts-time64.c
create mode 100644 io/tst-futimesat-time64.c
create mode 100644 io/tst-stat-time64.c
create mode 100644 io/tst-utimensat-time64.c
create mode 100644 io/tst-utimensat.c
rename sysdeps/unix/sysv/linux/s390/s390-32/getutent.c => login/lastlog-compat.h (66%)
create mode 100644 login/lastlog_read.c
create mode 100644 login/lastlog_write.c
rename {sysdeps/unix/sysv/linux/s390/s390-32 => login}/login32.c (72%)
create mode 100644 login/tst-lastlog.c
create mode 100644 login/tst-lastlog.root/tst-lastlog.script
create mode 100644 login/tst-utmp-default.c
create mode 100644 login/tst-utmp-default.root/tst-utmp-default.script
create mode 100644 login/tst-utmp32.c
create mode 100644 login/tst-utmp32.root/tst-utmp32.script
rename sysdeps/unix/sysv/linux/s390/s390-32/utmp-convert.h => login/utmp-convert.c (58%)
rename sysdeps/unix/sysv/linux/s390/s390-32/getutmp.c => login/utmp-convert.h (59%)
rename sysdeps/unix/sysv/linux/updwtmp.c => login/utmp-path.h (50%)
create mode 100644 login/utmp32.c
rename {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmp32.h (78%)
rename {sysdeps/gnu => login}/utmpx.h (100%)
create mode 100644 login/utmpx32.c
rename {sysdeps/unix/sysv/linux/s390/s390-32 => login}/utmpx32.h (93%)
create mode 100644 misc/tst-pselect-time64.c
create mode 100644 nptl/tst-cancel4_2-time64.c
create mode 100644 posix/glob64-time64.c
rename sysdeps/unix/sysv/linux/s390/s390-32/getutid.c => posix/globfree64-time64.c (67%)
create mode 100644 posix/tst-gnuglob64-time64.c
create mode 100644 posix/tst-sched_rr_get_interval-time64.c
create mode 100644 posix/tst-wait-skeleton.c
create mode 100644 posix/tst-wait3-time64.c
rename sysdeps/unix/sysv/linux/s390/s390-32/updwtmpx.c => posix/tst-wait3.c (66%)
create mode 100644 posix/tst-wait4-time64.c
create mode 100644 rt/tst-aio6-time64.c
create mode 100644 rt/tst-cpuclock2-time64.c
create mode 100644 rt/tst-mqueue1-time64.c
create mode 100644 rt/tst-mqueue2-time64.c
create mode 100644 rt/tst-mqueue4-time64.c
create mode 100644 rt/tst-mqueue8-time64.c
create mode 100644 rt/tst-timer4-time64.c
create mode 100644 support/support-xfstat-time64.c
rename sysdeps/unix/sysv/linux/s390/s390-32/getutline_r.c => support/support-xstat-time64.c (63%)
create mode 100644 support/timespec-add-time64.c
create mode 100644 support/timespec-sub-time64.c
create mode 100644 support/timespec-time64.c
rename sysdeps/unix/sysv/linux/s390/s390-32/getutxid.c => support/xclock_gettime_time64.c (66%)
create mode 100644 support/xlstat-time64.c
rename sysdeps/{unix/sysv/linux/s390/s390-32/getutxent.c => generic/features-time64.h} (66%)
create mode 100644 sysdeps/generic/time64-compat.h
create mode 100644 sysdeps/generic/utmp-compat.h
delete mode 100644 sysdeps/generic/utmp-equal.h
delete mode 100644 sysdeps/gnu/getutmpx.c
delete mode 100644 sysdeps/gnu/utmp_file.c
create mode 100644 sysdeps/pthread/tst-abstime-time64.c
create mode 100644 sysdeps/pthread/tst-cnd-timedwait-time64.c
create mode 100644 sysdeps/pthread/tst-cond11-time64.c
create mode 100644 sysdeps/pthread/tst-join14-time64.c
create mode 100644 sysdeps/pthread/tst-mtx-timedlock-time64.c
create mode 100644 sysdeps/pthread/tst-rwlock14-time64.c
create mode 100644 sysdeps/pthread/tst-sem5-time64.c
create mode 100644 sysdeps/pthread/tst-thrd-sleep-time64.c
create mode 100644 sysdeps/unix/sysv/linux/arm/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/bits/struct_stat_time64_helper.h
create mode 100644 sysdeps/unix/sysv/linux/bits/types/struct_msqid64_ds_helper.h
rename sysdeps/unix/sysv/linux/{s390/s390-32/getutline.c => bits/types/struct_semid64_ds_helper.h} (64%)
rename sysdeps/{gnu/updwtmp.c => unix/sysv/linux/bits/types/struct_shmid64_ds_helper.h} (57%)
create mode 100644 sysdeps/unix/sysv/linux/convert_scm_timestamps.c
create mode 100644 sysdeps/unix/sysv/linux/csky/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/features-time64.h
create mode 100644 sysdeps/unix/sysv/linux/glob64-time64.c
rename sysdeps/unix/sysv/linux/{s390/s390-32/getutid_r.c => globfree64-time64.c} (62%)
create mode 100644 sysdeps/unix/sysv/linux/hppa/socket-constants-time64.h
create mode 100644 sysdeps/unix/sysv/linux/hppa/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/i386/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/m68k/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/microblaze/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/mips/mips32/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist
create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/libpthread.abilist
create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/time64-compat.h
rename sysdeps/unix/sysv/linux/mips/mips64/{ => n64}/libanl.abilist (100%)
rename sysdeps/unix/sysv/linux/mips/mips64/{ => n64}/libpthread.abilist (100%)
rename sysdeps/unix/sysv/linux/mips/mips64/{ => n64}/librt.abilist (100%)
create mode 100644 sysdeps/unix/sysv/linux/mips/socket-constants-time64.h
create mode 100644 sysdeps/unix/sysv/linux/nios2/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/powerpc/socket-constants-time64.h
rename sysdeps/unix/sysv/linux/{s390/s390-32/login.c => pwrite64_nocancel.c} (62%)
create mode 100644 sysdeps/unix/sysv/linux/s390/bits/struct_utmp.h
rename sysdeps/{gnu/bits/utmpx.h => unix/sysv/linux/s390/bits/struct_utmpx.h} (51%)
delete mode 100644 sysdeps/unix/sysv/linux/s390/bits/utmp.h
rename sysdeps/{gnu/getutmp.c => unix/sysv/linux/s390/lastlog-compat.h} (61%)
delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/getutxline.c
create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist
delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/pututxline.c
create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/time64-compat.h
delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/utmp32.c
delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/utmpx-convert.h
delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/utmpx32.c
rename sysdeps/unix/sysv/linux/s390/{ => s390-64}/libanl.abilist (100%)
create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/utmp-compat.h
create mode 100644 sysdeps/unix/sysv/linux/sh/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/socket-constants-time64.h
create mode 100644 sysdeps/unix/sysv/linux/sparc/socket-constants-time64.h
create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/time64-compat.h
create mode 100644 sysdeps/unix/sysv/linux/tst-futimens-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-futimes-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-futimes.c
create mode 100644 sysdeps/unix/sysv/linux/tst-lutimes-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-lutimes.c
create mode 100644 sysdeps/unix/sysv/linux/tst-ppoll-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-timerfd-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-utime-time64.c
create mode 100644 sysdeps/unix/sysv/linux/tst-utimes-time64.c
create mode 100644 sysdeps/unix/sysv/linux/utmp-path.h
delete mode 100644 sysdeps/unix/sysv/linux/utmp_file.c
create mode 100644 sysvipc/test-sysvmsg-time64.c
create mode 100644 sysvipc/test-sysvsem-time64.c
create mode 100644 sysvipc/test-sysvshm-time64.c
create mode 100644 time/tst-adjtime-time64.c
create mode 100644 time/tst-clock-time64.c
create mode 100644 time/tst-clock2-time64.c
create mode 100644 time/tst-clock_nanosleep-time64.c
create mode 100644 time/tst-cpuclock1-time64.c
create mode 100644 time/tst-ctime-time64.c
create mode 100644 time/tst-difftime-time64.c
create mode 100644 time/tst-gmtime-time64.c
create mode 100644 time/tst-gmtime.c
create mode 100644 time/tst-itimer-time64.c
create mode 100644 time/tst-itimer.c
create mode 100644 time/tst-mktime4-time64.c
create mode 100644 time/tst-timegm-time64.c
create mode 100644 time/tst-timegm.c
create mode 100644 time/tst-timespec_get-time64.c
create mode 100644 time/tst-timespec_get.c
create mode 100644 time/tst-y2039-time64.c
--
2.25.1
More information about the Libc-alpha
mailing list