add time32 ABI compat shims, compat source tree
authorRich Felker <dalias@aerifal.cx>
Fri, 2 Aug 2019 19:52:42 +0000 (15:52 -0400)
committerRich Felker <dalias@aerifal.cx>
Sat, 2 Nov 2019 22:30:56 +0000 (18:30 -0400)
commitc0450320940c8c45f3847f2d0a22c0ebc545b291
tree3403c819f3fb9ddc96e1c0136b8807a0aa7eb582
parent0961bb94162896d358937e4979e5830f39818920
add time32 ABI compat shims, compat source tree

these files provide the symbols for the traditional 32-bit time_t ABI
on existing 32-bit archs by wrapping the real, internal versions of
the corresponding functions, which always work with 64-bit time_t.
they are written to be as agnostic as possible to the implementation
details of the real functions, so that they can be written once and
mostly forgotten, but they are aware of details of the old (and
sometimes new) ABI, which is okay since ABI is fixed and cannot
change.

a new compat tree is added, separate from src, which the Makefile does
not see or use now, but which archs will be able to add to the build
process. we could also consider moving other things that are compat
shims here, like functions which are purely for glibc-ABI-compat, with
the goal of making it optional or just cleaning up the main src tree
to make the distinction between actual implementation/API files and
ABI-compat shims clear.
64 files changed:
compat/time32/__xstat.c [new file with mode: 0644]
compat/time32/adjtime32.c [new file with mode: 0644]
compat/time32/adjtimex_time32.c [new file with mode: 0644]
compat/time32/aio_suspend_time32.c [new file with mode: 0644]
compat/time32/clock_adjtime32.c [new file with mode: 0644]
compat/time32/clock_getres_time32.c [new file with mode: 0644]
compat/time32/clock_gettime32.c [new file with mode: 0644]
compat/time32/clock_nanosleep_time32.c [new file with mode: 0644]
compat/time32/clock_settime32.c [new file with mode: 0644]
compat/time32/cnd_timedwait_time32.c [new file with mode: 0644]
compat/time32/ctime32.c [new file with mode: 0644]
compat/time32/ctime32_r.c [new file with mode: 0644]
compat/time32/difftime32.c [new file with mode: 0644]
compat/time32/fstat_time32.c [new file with mode: 0644]
compat/time32/fstatat_time32.c [new file with mode: 0644]
compat/time32/ftime32.c [new file with mode: 0644]
compat/time32/futimens_time32.c [new file with mode: 0644]
compat/time32/futimes_time32.c [new file with mode: 0644]
compat/time32/futimesat_time32.c [new file with mode: 0644]
compat/time32/getitimer_time32.c [new file with mode: 0644]
compat/time32/getrusage_time32.c [new file with mode: 0644]
compat/time32/gettimeofday_time32.c [new file with mode: 0644]
compat/time32/gmtime32.c [new file with mode: 0644]
compat/time32/gmtime32_r.c [new file with mode: 0644]
compat/time32/localtime32.c [new file with mode: 0644]
compat/time32/localtime32_r.c [new file with mode: 0644]
compat/time32/lstat_time32.c [new file with mode: 0644]
compat/time32/lutimes_time32.c [new file with mode: 0644]
compat/time32/mktime32.c [new file with mode: 0644]
compat/time32/mq_timedreceive_time32.c [new file with mode: 0644]
compat/time32/mq_timedsend_time32.c [new file with mode: 0644]
compat/time32/mtx_timedlock_time32.c [new file with mode: 0644]
compat/time32/nanosleep_time32.c [new file with mode: 0644]
compat/time32/ppoll_time32.c [new file with mode: 0644]
compat/time32/pselect_time32.c [new file with mode: 0644]
compat/time32/pthread_cond_timedwait_time32.c [new file with mode: 0644]
compat/time32/pthread_mutex_timedlock_time32.c [new file with mode: 0644]
compat/time32/pthread_rwlock_timedrdlock_time32.c [new file with mode: 0644]
compat/time32/pthread_rwlock_timedwrlock_time32.c [new file with mode: 0644]
compat/time32/pthread_timedjoin_np_time32.c [new file with mode: 0644]
compat/time32/recvmmsg_time32.c [new file with mode: 0644]
compat/time32/sched_rr_get_interval_time32.c [new file with mode: 0644]
compat/time32/select_time32.c [new file with mode: 0644]
compat/time32/sem_timedwait_time32.c [new file with mode: 0644]
compat/time32/semtimedop_time32.c [new file with mode: 0644]
compat/time32/setitimer_time32.c [new file with mode: 0644]
compat/time32/settimeofday_time32.c [new file with mode: 0644]
compat/time32/sigtimedwait_time32.c [new file with mode: 0644]
compat/time32/stat_time32.c [new file with mode: 0644]
compat/time32/stime32.c [new file with mode: 0644]
compat/time32/thrd_sleep_time32.c [new file with mode: 0644]
compat/time32/time32.c [new file with mode: 0644]
compat/time32/time32.h [new file with mode: 0644]
compat/time32/time32gm.c [new file with mode: 0644]
compat/time32/timer_gettime32.c [new file with mode: 0644]
compat/time32/timer_settime32.c [new file with mode: 0644]
compat/time32/timerfd_gettime32.c [new file with mode: 0644]
compat/time32/timerfd_settime32.c [new file with mode: 0644]
compat/time32/timespec_get_time32.c [new file with mode: 0644]
compat/time32/utime_time32.c [new file with mode: 0644]
compat/time32/utimensat_time32.c [new file with mode: 0644]
compat/time32/utimes_time32.c [new file with mode: 0644]
compat/time32/wait3_time32.c [new file with mode: 0644]
compat/time32/wait4_time32.c [new file with mode: 0644]